2016-07-07 9 views
0

Ich bin mit Mungo in NodeJS ... Ich will tiefen Array aktualisieren, kann aber nicht richtig aktualisieren .. Schema dieses Feldes ist unten ...Wie kann man das tiefe Array in Mungo aktualisieren?

case : [{ 
visit : [{ 
      visit_no : Number, 
      treat : { 
      rep : [{name : String,img :{type : String,match : /^http:\/\//i}}] 
      } 
}]}] 

ich Abfrage mit Hilfe von https://jira.mongodb.org/browse/SERVER-831 beantragt hatte unten ist ...

gezeigt
update({"_id" : fields.id,"case._id" : fields.case,"case.visit._id" : fields.visit,"case.visit.treat.rep._id" : req.body.PInv},{$set : {"case.$0.visit.$1.treat.rep.$2.img" : req.body.img}}) 

aber nicht Fehler zeigt, wird und auch keine Fehler geben .. ich Hilfe für dieses Problem

Antwort

0

Es könnte erfordern h ave etwas mit Mungo zu tun, nicht erlaubt Ihnen, den $ Operator mehr als einmal pro Taste zu verwenden. Verwenden Sie die Methode DocumentArray.id(id), um Filialdokumente zu durchsuchen. Schauen Sie sich Noam El's Antwort auf this Frage. Es kann Ihnen helfen, findById() auf dem äußersten Dokument auszuführen, bevor Sie die obige Methode verwenden.

Hoffe, dass dies hilft Ihnen in die richtige Richtung!

Verwandte Themen