javascript - 你可以存储对 mongo 集合的引用吗?

标签 javascript node.js mongodb

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

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/

相关文章:

node.js - 如何匹配包含和不包含空格的两个字符串

javascript - JQPlot放大图表并使用replot功能

javascript - 尝试使用 javascript 从 api 获取数据

node.js - 对公共(public) api 的 Node https get 请求导致错误 : CERT_UNTRUSTED

java - 是否可以从 Java 中的线程调用存储库?

Python + MongoDB,如何动态选择DB Collection

javascript - html 表单在分辨率更改时更改位置

javascript - 负十进制数和正十进制数的正则表达式

javascript - fadeToggle 多个 ids 错误

javascript - 从 tmp 上传文件夹中删除旧文件的正确 NodeJS 代码