インターネットで検索しましたが、何も見つかりませんでした。このmysqlコマンドに相当するものがmongodbにあるかどうかを知りたい:
insert into table1 select variables from table2;
私がしたいのは、ドキュメントを選択して、それをサブドキュメントとして別のドキュメントに挿入することです。
助けてくれてありがとう!
単一のデータベース コマンドでこれを行う方法はありません。
これをシェルで行うか、MongoDB ドライバーを使用して任意のスクリプト言語で行うかに関係なく、コレクション 1 からドキュメントをクエリし、クエリの結果を使用してコレクション 2 を適切に更新する必要があります。
例えば:
var doc = db.coll1.findOne( {_id:12345} );
db.coll2.update( {_id:98765}, {$push: {subs:doc} }, {upsert:1} )
更新が言うことは、最初の引数に一致するドキュメントが2番目の引数で更新され(ドキュメントにあるsubs配列値にプッシュされる)、最後の引数が、このドキュメントがまだ存在しない場合(つまり、_id:98765がまだコレクション2にない場合)を作成することです作成されます)。