2016-03-26 15 views
0

Durumumu kesinlikle inceledim ve ne yaptığımı yanlış anlayamıyorum. Herhangi bir yardım takdir edilir.Node işlevini kullanarak MongoDb'deki dizinin güncellenmesi çalışmıyor.

aşağıdaki ile Mongo bir koleksiyon (yolculuklar) sahiptir:

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

Ancak bu çalışmıyor:

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

waypoint.address güncellemek için aşağıdaki yaptık. Eksik mi, bir şey anlamadım mı?

GÜNCELLEME:

Sonunda bu anladım. 'waypoint.sequenceNumber' bir tamsayı olarak depolanıyordu, ancak bunu bir dize olarak sorgulıyordum. Ugh. Utanmalısın üzerimde.

cevap

0

Sorunun bir NesneKimliği (1) olmak _ID alanına ilgisi olduğunu düşünüyorum ve sadece edebi tamsayıyı 1.

+0

[soru revizyonlar] baktığımızda (http://stackoverflow.com/posts/36238239/revizyonlar) yanıltıcıydı. Gelecekte referans insanlar için genellikle "ObjectId" değerlerini yazılarda şaşırtmış görünüyorlar (sanırım "bir" güvenlik sorunu "diye düşünürler) ve" ObjectId "(" 1 ")' gibi değerler basitçe bir hata atarlar. OP yine de gerçek bir hata yaptı. –