MongoDB 遍历文档集合
MongoDB Iterate through collection of documents
我对MongoDB相当陌生。我创建了 2 个集合,一个称为"组",其中包含每个组的信息,第二个称为"groupUsers",它是一个关系集合,用于告诉哪些用户连接到组。
现在,我试图完成的是首先获取当前用户所属的所有组,然后,在这里出错,将组中的信息获取到数组中。错误是我只将第一个或最后一个文档放入我的数组中。我知道用户有 2 个组连接到他。
以下是我尝试实现此目的的方法:
var playerID = Spark.getPlayer().getPlayerId();
var dataList = Spark.runtimeCollection('groupUsers');
var myGroups = dataList.find({ user: playerID });
var groups = [];
if( myGroups.hasNext() ) {
var dataList2 = Spark.runtimeCollection('groups');
var obj = myGroups.next();
var thisGroup = dataList2.find({ "_id": {"$oid": ""+obj.group}});
groups.push(thisGroup);
}
Spark.setScriptData("myUserGroups", groups);
希望这是有道理的,有人可以告诉我我做错了什么或引导我朝着正确的方向前进:-)
提前谢谢。
如果你的代码var myGroups = dataList.find({ user: playerID })
返回 2 个组,那么你不应该运行一个循环来获取dataList2.find({ "_id": {"$oid": ""+obj.group}});
那么多次吗?
我看到你只执行一次。
相关文章:
- 将当前用户的 ID 推送到 meteorjs 中集合/文档的内部数组
- 如何从游标(集合)中检索n个文档的组
- 将多级 mongodb 文档转换为 Backbone.js 模型/集合
- 如何使用文档的ID从mongoDB集合中删除文档
- 使用 Mongoose 在所有现有集合中查找引用的文档
- MongoDB:如何将这个散列添加到集合中的每个文档中
- Meteor Update集合-未捕获错误:不允许.不受信任的代码只能通过ID更新文档.[403]
- 通过最大的嵌入式文档对文档集合进行排序 mongodb
- MongoDB 遍历文档集合
- 如何使用猫鼬从集合中删除所有文档
- 数组中嵌入文档的集合更新属性
- 在流星集合文档中插入值
- MongoDB在将文档插入数据库之前为空集合
- 获取集合中不符合条件的所有文档
- 无法在node.js中使用MongoClient列出mongodb集合中的文档
- 来自不同集合的子文档 ID 数组的猫鼬架构
- 将特定字段从流星集合文档中检索到JS文件中并去除HTML标签
- 从 Meteor 中的集合文档返回单个值
- MongoDB(通过Meteor)在更新集合文档时将对象属性视为字符串
- JS/MongoDB:检查对象(集合文档)中是否存在嵌套字段