1

在文件的顶部,我可以放置类似...

var collection = db.mongo.collection('test', function(err, collection){return collection});

然后在任何文件功能中使用collection.find()

我想我的问题是......是collection对集合的引用还是数据的副本?

collection如果集合中的数据发生变化,我仍然可以通过查询变量来获取最新数据吗?

谢谢!!

4

1 回答 1

0

Collection 是集合对象的引用。在您发出 find(或 findOne)之前,您手中没有真实数据。即便如此,它也会返回一个 Cursor 对象,使集合对象始终保持不变。

存储集合或游标不会存储您的数据。请记住,您可能要处理数百万条记录。处理数据本身可能会占用服务器内存。相反,mongo 返回游标和引用供您过滤掉。在 PHP 中,您有一个名为 iterator_to_array 的函数,您可以将光标传递给它,并将其转换为数据数组。在javascript中我不知道是否有这样的功能。但我想这样的功能没有意义。过滤信息,直到您拥有可管理的数据大小,然后遍历光标并执行您的操作。如果您有类似配置数组之类的东西,而不是多个文档,请尝试将所有内容存储在一个文件中并使用 findOne() 函数获取它。

但最后我想这只是一个设计问题,您的数据是否可以过滤。

于 2012-04-21T17:16:40.663 回答