0

Mongo で、プロパティを変更しながらレコードをコピーする最良の方法は何ですか?

たとえば、ユーザー オブジェクトがあり、いくつかのプロパティを変更しながらそれをコピーしたいとします。だから(論理的に):

db.users.find({_id:"Fred"}).forEach( function(r) { db.users.insert(r.copy("_id"="Barney","age":25)) } );

もちろん、「コピー」機能はありませんが、それが私が探しているものです: いくつかのプロパティ (もちろんキー _id) を変更しながらドキュメントをコピーする方法です。

4

1 に答える 1

0

何もコピーする必要はありません。たとえば、これは問題なく機能します。

db.users.
    find( { _id: "Fred" } ).
    forEach( function (r) { 
        r._id = "Barney"; 
        r.age = 25;
        db.so.insert( r );
    } );

なぜこのようなことをしたいのか、私にはよくわかりません。新しい "Barney" ドキュメントに対して、すべての元のフィールドを含む新しいドキュメントを挿入する方がはるかに理にかなっています。

于 2013-07-18T08:04:19.153 に答える