假设我有两个字段 F1 和 F2。我想将 F1 更新为F1 + ", " + F2
. 我可以使用 mongo 中的单个更新命令来执行此操作吗?
问问题
1818 次
2 回答
4
不,你不能那样做。您不能在 mongodb 更新中使用表达式。唯一的方法是将该文档获取到客户端,在那里编写新的字段值并发出准备好的更新语句。
于 2012-04-19T12:02:58.380 回答
2
正如 Sergio 所提到的,即使在2.4.8版本提出问题一年后,你也不能这样做。但是如果你需要这样做,你可以使用这个
db.yourCollection.find({}).forEach(function(doc) {
doc.F1 = doc.F1 + ", " + doc.F2;
delete doc.F2;
db.yourCollection.save(doc);
});
于 2013-11-07T20:40:10.160 回答