我绝对做了尽职调查,我无法弄清楚我做错了什么。任何帮助表示赞赏。
我在Mongo(旅行)收集了以下内容:
{
"_id": ObjectId("56f5ee3dab124b181256ddf1"),
"waypoints": [{
"address": "",
"sequenceNumber": 0
}]
}
要更新waypoint.address,我已完成以下操作:
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}
});
但是,这不起作用。我错过了,还是没有理解?
更新:
我终于弄明白了。 'waypoint.sequenceNumber'被存储为整数,但是,我将其作为字符串查询。啊。对我感到羞耻。
答案 0 :(得分:0)
我认为问题在于_id字段是ObjectID(1),而不仅仅是字面整数1。