更新所有文档的一个键但具有不同的值

时间:2018-03-27 11:24:16

标签: node.js mongodb mongoose

我们假设我的收藏是:

[{
  "_id":1,
  "name":"john",
  "email":"john@xyz.com"
},
 {"_id":2,
  "name":"bob",
  "email":"bob@xyz.com"
},
 {"_id":3,
  "name":"tom",
  "email":"tom@xyz.com"
}]

我必须更新附有'ma'的每个文件的电子邮件, john@xyz.com john@xyz.comma ,  我可以在单个查询中完成吗?

我已经尝试了很多,找不到任何最佳解决方案,任何建议可能是实现这一目标的最佳方法。

1 个答案:

答案 0 :(得分:0)

是的,您可以使用简单的for循环:

var x = [{
    "_id":1,
    "name":"john",
    "email":"john@xyz.com"
},{
    "_id":2,
    "name":"bob",
    "email":"bob@xyz.com"
},{
    "_id":3,
    "name":"tom",
    "email":"tom@xyz.com"
}];

for (var o of x){
    o.email += "ma";
}

console.log(x);

这将迭代每个元素并将“ma”附加到“email”键。