繁体   English   中英

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}}); 多少次?

我看到您只执行一次。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM