不是一個問題,關於加入MongoDB中MongoDB中
我在MongoDB的兩個集合,其中沒有一個共同的領域和我想一個zip函數適用於(如在Python中,Haskell)。這兩個集合都具有相同數量的文檔。
例如: 讓我們假設一個集合(Users
)用於用戶,而另一個集合(Codes
)是唯一隨機生成的代碼。
集用戶:
{ "_id" : ObjectId(""), "userId" : "123"}
{ "_id" : ObjectId(""), "userId" : "456"}
收集代碼:
{ "_id" : ObjectId(""), "code" : "randomCode1"}
{ "_id" : ObjectId(""), "code" : "randomCode2"}
所需的輸出將用戶分配到一個獨特的碼。具體如下:
輸出
{ "_id" : ObjectId(""), "code" : "randomCode1", "userId" : "123"}
{ "_id" : ObjectId(""), "code" : "randomCode2", "userId" : "456"}
是否存在與聚合管道這樣的方法嗎?
或者也許與地圖縮小?不要這麼想,因爲它只適用於一個集合。
我已經考慮在每個文檔對的兩個集合中插入另一個隨機id,然後使用$ lookup和這個新的id,但是這看起來像是一種矯枉過正。也可以選擇導出和使用Python,因爲沒有太多文檔,但我覺得應該有更好的方法。
需要兩個不同的查詢。但是你可以使用'$ zip'操作符['在MongoDB中壓縮數組](http://stackoverflow.com/questions/31164156/zip-arrays-with-mongodb)。 – styvane
您是否期望將集合1中的文檔1定位到集合2中的文檔1? – notionquest
@notionquest不一定,我不關心哪個用戶得到哪個代碼,只要他們得到一個唯一的代碼。 – pmb