你能存储对 mongo 集合的引用吗?

Can you store a reference to a mongo collection?

本文关键字:引用 集合 mongo 存储      更新时间:2023-09-26

我可以在文件的顶部放一些类似...

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

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

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

如果集合中的数据发生更改,我是否仍会通过查询 collection 变量来获取最新数据?

谢谢!!

集合是集合对象的引用。在你发布查找(或查找一个)之前,你手中没有真正的数据。即便如此,它也会返回一个 Cursor 对象,使集合对象始终保持不变。

同时存储集合或游标不会存储数据。 请记住,您可能正在处理数百万条记录。 处理数据本身可能会使服务器内存不堪重负。相反,mongo 返回光标和引用供您过滤掉。在PHP中,你有一个名为iterator_to_array的函数,你可以通过光标传递给它,它转换为一个数据数组。在javascript中,我不知道是否有这样的函数。但我想这样的功能是没有意义的。筛选信息,直到具有可管理的数据大小,然后循环访问光标并执行操作。如果你有一个像配置数组之类的东西,包括几个文档,尝试将所有内容存储在一个文档上,并使用findOne()函数获取它。

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