更新在MongoDB中不起作用
我的文档中有一个数组,我想更新它,但到目前为止我无法解析它。这里更新在MongoDB中不起作用,mongodb,nosql,Mongodb,Nosql,我的文档中有一个数组,我想更新它,但到目前为止我无法解析它。这里doctor是集合的名称,它不是对象 doctor: { _id = ObjectID(571fb65678fcd63c29db423a), appointmentList : [ {patientID:"123", date: "25 MARCH"}, {patientID:"456", date: "26 MARCH"}, {patientID:"789", date: "27 MARCH"}
doctor
是集合的名称,它不是对象
doctor: {
_id = ObjectID(571fb65678fcd63c29db423a),
appointmentList : [
{patientID:"123", date: "25 MARCH"},
{patientID:"456", date: "26 MARCH"},
{patientID:"789", date: "27 MARCH"},
{patientID:"101112", date: "28 MARCH"}
]
}
在这种情况下,我想更新patientID=“123”的日期。为此,我创建了这个查询,但它不起作用
db.collection.update(
{
"_id" : ObjectId("571fb65678fcd63c29db423a"),
"appointmentList.patientID": "123"
},
{
"$set": {
"appointmentList.$.date" : "XXXXX"
}
}
);
输出:
> db.collection.update(
{
"_id" : ObjectId("571fb65678fcd63c29db423a"),
"appointmentList.patientID": "123"
},
{
"$set": {
"appointmentList.$.date" : "XXXXX"
}
}
);
WriteResult({ "nMatched" : 0, "nUpserted" : 0, "nModified" : 0 })
致以最诚挚的问候试试这个:
> db.collection.update(
{
"_id" : "571fb65678fcd63c29db423a",
"appointmentList.patientID": "123"
},
{
"$set": {
"appointmentList.$.date" : "XXXXX"
}
}
)) 我在我的机器上试过你的代码,效果很好。试着重新启动mongodb?或者更新它??因为您运行的代码是有效的,可能是一些错误配置或类似的东西。但是代码是有效的。祝你好运