2013-02-28 60 views
0

我在互聯網上搜索,但我什麼也沒找到。 我想知道是否有在MongoDB中爲該MySQL命令等效:插入表中從table2中選擇變量相當於mongodb

insert into table1 select variables from table2; 

我想要做的是選擇一個文檔,並將其插入到另一個文檔,因爲它的子文檔。

感謝您的任何幫助!

回答

2

在單個數據庫命令中沒有辦法做到這一點。

無論您是使用MongoDB驅動程序在shell還是使用您選擇的腳本語言執行此操作,您都必須從collection1查詢文檔,然後使用查詢結果對collection2進行適當的更新。

例如:

var doc = db.coll1.findOne({_id:12345}); 
db.coll2.update({_id:98765}, {$push: {subs:doc} }, {upsert:1}) 

什麼更新說的是對文檔匹配第一個參數就在第二個參數的更新(推入潛艇數組值這是在DOC)和最後一個參數表示如果不創建這個文件已經存在(即如果_id:98765尚未在collection2中,它將被創建)。

+0

它的工作原理,非常感謝!!!!!!! – 2013-02-28 12:46:12

相關問題