我正在尝试编写一个查询来更新mongo中的日期,使其与基于某些逻辑的同一记录中的现有日期相同。我有一个简单的步骤,我坚持我如何访问值?
db.getCollection("MyCollection").updateMany({
//SOME LOGIC HERE
{
"$set":{"updatedTs": "$$createdTs"}
},{multi:true}
)
这返回的updatedTs等于文字字符串“$$createdTs”,而不是存储的值。我发现最接近我的查询是这个论坛问题,但链接的页面不再存在:https://www.mongodb.com/community/forums/t/updatemany-in-mongodb-using-value-of-other-field/99555
我错过了什么?
1条答案
按热度按时间hmmo2u0o1#
从MongoDB 4.2开始,你可以在更新查询中写入聚合管道(即包含
updateMany
)。mongoplayground