簡體   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