虽然我是mongoDb的新手,但我不知道我在哪里犯了错误:
MyDb.find().count() // returns 120 let data = MyDb.find() let records = [] for (let a of data) //adding records records.push(a) } console.log(records.length) // result: 125
我在这里没有看到什么?我如何通过数据迭代来获得更多的记录?
tzdcorbm1#
下面一行返回一个Mongo.Cursor:
let data = MyDb.find()
游标本身只是一个指向数据的“指针”。如果你想迭代游标数据,你应该使用.forEach:
.forEach
MyDb.find().count() // returns 120 let cursor = MyDb.find() let records = [] cursor.forEach(doc => { //adding records records.push(doc) }) console.log(records.length) // result: 120
但是,您可以使用fetch作为Array轻松访问数据:
fetch
const cursor = MyDb.find() cursor.count() // returns 120 let records = cursor.fetch() console.log(records.length) // result: 120
阅读更多:https://docs.meteor.com/api/collections.html#mongo_cursorhttps://guide.meteor.com/collections.htmlhttps://university.meteor.com/
1条答案
按热度按时间tzdcorbm1#
下面一行返回一个Mongo.Cursor:
游标本身只是一个指向数据的“指针”。如果你想迭代游标数据,你应该使用
.forEach
:但是,您可以使用
fetch
作为Array轻松访问数据:阅读更多:
https://docs.meteor.com/api/collections.html#mongo_cursor
https://guide.meteor.com/collections.html
https://university.meteor.com/