在Mongo中,在更改记录的同时复制记录的最佳方法是什么?
例如说我有一个用户对象,我想在更改某些属性时复制它。 所以(逻辑上):
db.users.find({_id:"Fred"}).forEach( function(r) { db.users.insert(r.copy("_id"="Barney","age":25)) } );
当然没有“复制”功能,但这就是我正在寻找的东西:复制文档的方法,同时改变一些属性(当然是键_id)。
答案 0 :(得分:0)
您不必复制任何内容,例如,这样可以正常工作:
db.users.
find( { _id: "Fred" } ).
forEach( function (r) {
r._id = "Barney";
r.age = 25;
db.so.insert( r );
} );
我不太明白你为什么要这样做呢。再次为新的“Barney”文档插入包含所有原始字段的新文档更有意义。