2016-04-29 84 views
0

我在我的文檔中有一個數組,我想更新但到目前爲止我沒有解決它。這裏doctor是集合的名稱,它不是一個對象。更新不起作用在MongoDB中

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" 
     } 
    } 
); 

OUTPUT:

> db.collection.update(
    { 
     "_id" : ObjectId("571fb65678fcd63c29db423a"), 
     "appointmentList.patientID": "123" 
    }, 
    { 
     "$set": { 
      "appointmentList.$.date" : "XXXXX" 
     } 
    } 
); 
WriteResult({ "nMatched" : 0, "nUpserted" : 0, "nModified" : 0 }) 

問候

回答

-1

試試這個:

> db.collection.update(
{ 
    "_id" : "571fb65678fcd63c29db423a", 
    "appointmentList.patientID": "123" 
}, 
{ 
    "$set": { 
     "appointmentList.$.date" : "XXXXX" 
    } 
} 

);

+0

不能正常工作.... – user2498079

+0

我在我的機器上試過了你的代碼,它工作得很好。試試也許重新啓動MongoDB?或更新它?因爲你運行的代碼是有效的,也許是一些錯誤配置或類似的東西。但代碼是有效的。祝你好運! – Robert