在MongoDB中使用$or进行更新时出现问题,错误:更新操作文档必须包含原子运算符



我想使用Robot在MongoDb上进行此更新。我需要使用regex在搜索中用两个可能的值更新一个字段。

我需要把今天的日期所有的型号三星和Iphone。

这是我的句子

db.CatalogoAntel.updateMany  ({$or : [{modelo : {$regex: "iphone", $options:"i"}}, 
{modelo : { $regex: "samsung", $options:"i" }}]}, {set: {FecActualizacion: new Date()} })

我得到的错误是

Error: the update operation document must contain atomic operators :
DBCollection.prototype.updateMany@src/mongo/shell/crud_api.js:601:1
@(shell):1:1

只有当我试图在搜索语句中输入多个值时,我才发现这个问题。我修改了代码,但看不出哪里出了问题。

谢谢你的帮助。

您应该使用$set更新运算符来添加/更新值(您使用的是set(。

db.collection.updateMany({
$or : [
{
modelo : { $regex: "iphone", $options: "i" }
}, 
{
modelo : { $regex: "samsung", $options: "i" }
}
]
}, { $set: { FecActualizacion: new Date() } })

相关内容

  • 没有找到相关文章

最新更新