如何解决mongo更新查询不适用于旧版本
以下查询在mongo 4.2版上正常运行,但是当我在旧版上运行相同的查询时,这是一个错误-“ ($)
中以美元$concat
为前缀的字段GUID.$concat
对于存储无效”。
db.getCollection('xxxx').update(
{ "SHARE": false },[{
"$set": {
"GUID": {
"$concat": [
{ $toString: "$ID" },{ $toString: "$DATE" }
]
}
}
}],{
upsert: false,multi: true
}
)
有什么方法可以在较早的mongo版本中修改上述查询。
解决方法
下面的查询对我有用,
db.getCollection('xxxx')。aggregate([{$ addFields:{GUID:{$ concat:[{$ toString:“ $ ID”}]}}}])。forEach(function(x){ db.getCollection('xxxx')。update({“ _ id”:x._id},{$ set:{GUID:x.GUID}},{multi:true}); //print((x._id。 toString()))})
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。