在文件的顶部我可以放置类似...的内容
var collection = db.mongo.collection('test', function(err, collection){return collection});
然后在任何文件函数中使用collection.find()
等
我想我的问题是...collection
是对集合的引用还是数据的副本?
如果集合中的数据发生变化,我仍然可以通过查询集合
变量来获取最新数据吗?
谢谢!!
最佳答案
Collection 是集合对象的引用。在您发出 find (或 findOne)之前,您手中没有真正的数据。即使这样,它也会返回一个 Cursor 对象,而集合对象始终保持不变。
存储集合或游标不会存储您的数据。请记住,您可能正在处理数百万条记录。处理数据本身可能会让服务器内存不堪重负。相反,mongo 返回游标和引用供您过滤掉。在 PHP 中,有一个名为 iterator_to_array 的函数,您可以将光标传递给它,并将其转换为数据数组。不知道javascript中是否有这样的功能。但我想这样的功能没有意义。过滤信息,直到拥有可管理的数据大小,然后迭代光标并执行您的操作。如果您有诸如配置数组之类的东西,而不是多个文档,请尝试将所有内容存储在一个文档中并使用 findOne() 函数获取它。
但最终我想这只是一个设计问题,你的数据是否可以过滤。
关于javascript - 你可以存储对 mongo 集合的引用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10260806/