【发布时间】:2021-08-18 17:46:15
【问题描述】:
我正在学习关于 MongoDB 的课程。下面是我在一个名为“flightData”的集合中的文档列表。以下是 find 查询的结果:
flights> db.flightData.find()
[
{
_id: ObjectId("611aaa1c4a0269583c8d81b0"),
aircraft: 'AirBus A308',
departingFrom: 'Mumbai',
arrivalStation: 'Moscow',
departureDate: '24/09/2021',
departureTime: '01:44',
arrivingAt: '12:00',
isOneWay: false,
status: {
description: 'on time',
lastUpdated: 'One hour ago',
details: { contact: 'John Doe' }
}
},
{
_id: ObjectId("611aaa554a0269583c8d81b1"),
aircraft: 'AirBus A308',
departingFrom: 'Kolkata',
arrivalStation: 'Stockholm',
departureDate: '24/09/2021',
departureTime: '01:44',
arrivingAt: '12:00',
isOneWay: false,
status: {
description: 'on time',
lastUpdated: 'One hour ago',
details: { contact: 'Cool User' }
}
}
]
当他们通过类似于下面的示例显示 update 和 updateMany 之间的区别时:
flights> db.flightData.update({_id:ObjectId("611aaa554a0269583c8d81b1")},{"delayed":false})
在讲座中它有效。但是,就我而言,它会引发以下错误:
MongoInvalidArgumentError:更新文档需要原子操作符
有人可以解释一下这种行为吗?我的版本或其他不支持它吗?
我正在使用 MongoDB 5.0.2、mongosh 1.0.5
【问题讨论】:
-
你的课程使用的是 mongosh 吗?
-
@D.SM,是的。它使用的是旧外壳。
标签: mongodb mongo-shell