根据另一个字段的值更新mongodb中的文档字段

时间:2012-04-19 12:00:51

标签: mongodb

假设我有两个字段F1和F2。我想将F1更新为F1 + ", " + F2。我可以在mongo中使用一个更新命令吗?

2 个答案:

答案 0 :(得分:4)

不,你不能这样做。您不能在mongodb更新中使用表达式。唯一的方法是将此文档提取到客户端,在那里组合新的字段值并发出准备好的更新语句。

答案 1 :(得分:2)

正如塞尔吉奥所提到的那样,在问题版本为 2.4.8 后,即使一年后你也无法做到这一点。但是如果你需要这样做,你可以使用这个

db.yourCollection.find({}).forEach(function(doc) {
  doc.F1 = doc.F1 + ", " + doc.F2;
  delete doc.F2;
  db.yourCollection.save(doc);
});