当前位置: 首页 > 知识库问答 >
问题:

错误:运行updateOne时,更新操作文档必须包含原子运算符

雍兴修
2023-03-14

在我的收藏中,只有一份文件。

> db.c20160712.find()
{ "_id" : ObjectId("57ab909791c3b3a393e9e277"), "Dimension_id" : 2, "Attribute" : "good", "Hour" : "20160712_06", "Frequency_count" : 100 
> db.c20160712.updateOne( { "Attribute" : "good"}, {"Type" : "DVD", "Title" : "Matrix, The", "Released" : 1999, "Genre" : "Action"}, { upsert: true} )
2016-08-10T16:37:57.089-0400 E QUERY    [thread1] Error: the update operation document must contain atomic operators :
DBCollection.prototype.updateOne@src/mongo/shell/crud_api.js:493:1
@(shell):1:1

我的MongoDB是3.2。

共有1个答案

欧阳山
2023-03-14

我认为这是由于在updateone()updateany()之外引入updateone()方法的副作用而改变的,这些方法在某种程度上是防止用户意外重写整个文档的一种保护措施。

您可以使用replaceOne()方法,或者使用update(),而不指定multi:true

 类似资料: