我的收藏看起来像这样: -
customer_collection: -
{"_id" : "507f191e810c19239de098db", "name" : "John", [other data]}
{"_id" : "507f191e810c19729de860ea", "name" : "Dave", [other data]}
我想在此集合的所有文档中添加另外两个字段 nickname 和 surname (包含1000万个文档);在本文档中将这些字段的值设置为 name 的值,即更改的文档应如下所示: -
{"_id" : "507f191e810c19239de098db", "name" : "John", "nickname" : "John", "surname" : "John", [other data]}
{"_id" : "507f191e810c19729de860ea", "name" : "Dave", "nickname" : "Dave", "surname" : "Dave", [other data]}
我该怎么做?这样做的最佳策略是什么?
答案 0 :(得分:0)
您可以使用以下代码执行此操作
db.customer.find().forEach( function (doc) {
doc.nickname = doc.name;
doc.surname = doc.name;
db.customer.save(doc);
});
如果您使用的是MongoDB 3.4,则可以使用新的$ addFields聚合管道运算符。