MongoDB 遍历文档集合

MongoDB Iterate through collection of documents

本文关键字:集合 文档 遍历 MongoDB      更新时间:2023-09-26

我对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}});那么多次吗?

我看到你只执行一次。