假设我有两个字段F1和F2。我想将F1更新为F1 + ", " + F2
。我可以在mongo中使用一个更新命令吗?
答案 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);
});