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.
[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ı. –