2016-03-26 9 views
0

Ich habe definitiv meine Due Diligence getan, und ich kann nicht herausfinden, was ich falsch mache. Jede Hilfe wird geschätzt.Aktualisieren Array in MongoDb mit Knoten funktioniert nicht

ich eine Sammlung in Mongo haben (Reisen) mit folgendem:

{ 
    "_id": ObjectId("56f5ee3dab124b181256ddf1"), 
    "waypoints": [{ 
     "address": "", 
     "sequenceNumber": 0 
    }] 
} 

waypoint.address zu aktualisieren, ich habe folgendes getan:

var tripId = new mongodb.ObjectID(waypoint.tripId); 
    var db = resources.GetDbConn(); 
    db.collection('trips').update(
     { _id: tripId, 
      'waypoints.sequenceNumber': waypoint.sequenceNumber 
     }, 
     {$set: 
      { 'waypoints.$.address': waypoint.address} 
     }); 

Dies ist jedoch nicht funktioniert. Vermisse ich etwas oder verstehe ich etwas nicht?

UPDATE:

ich das endlich herausgefunden. 'waypoint.sequenceNumber' wurde als Integer gespeichert, ich habe dies jedoch als String abgefragt. Pfui. Schande über mich.

Antwort

0

Ich denke, das Problem ist, mit dem _id Feld ist ein ObjectID (1), und nicht nur die wörtliche integer 1.

+0

Mit Blick auf die [Frage Revisionen] (http://stackoverflow.com/posts zu tun/36238239/Revisionen) war es irreführend. Für zukünftige Referenzen scheinen Leute oft 'ObjectId'-Werte in Posts zu verschleiern (ich denke, sie denken, es sei ein Sicherheitsproblem) und Werte wie' ObjectId ("1") ', die einfach einen Fehler werfen würden, sollten ignoriert werden. Das OP hat dort tatsächlich einen echten Fehler erkannt. –

Verwandte Themen