【发布时间】:2016-04-29 12:54:21
【问题描述】:
我是 MongoDB 的新手,我想知道是否有办法在 MongoDB 中创建动态视图。
让我更准确地说: 在 mongo 中,我有一个包含财务数据的集合,以及一个显示数据的 GUI 界面。 但是每个用户都可以通过在网格中添加或删除列来减少数据,并过滤网格:一个经典的用例。
我想做的是根据用户过滤器为每个收听主表的用户创建一个集合:像这样:
mongo.createView(masterCollection, filters, mapReduce)
在这种情况下,mongo 更新每个视图,每次在主集合中进行修改(更新、删除、插入)。
我可以手动执行类似的操作:为用户创建一个表,并使用用户过滤器和 mapReduce 在我的主集合上使用可尾光标,并在用户集合中添加、删除或更新文档。
但是,我有多达 100 个同时用户,它会在主集合上打开并保持 100 个可尾游标。我不太了解 mongo,但我认为做这样的事情不是最佳做法。
实际上,根据用户过滤器,每 5 秒,我为每个用户获取收集数据的线程。
如果有本地 mongo 方法来处理这种情况或在 mongo 中创建用户视图,请告诉我。
谢谢
【问题讨论】:
-
从 3.2.6 版开始,MongoDB 不提供数据库级别的视图。
标签: mongodb