我正在使用 node.js mongodo 本机库。
这是不起作用的代码片段。db.open 调用失败,没有错误。db.open 调用中的 console.log 语句不会打印,db 值也不会更新。令人沮丧的错误。不知道如何解决这个问题。任何帮助将不胜感激。
function updateFriend(friendId, loc) {
var input = JSON.parse(JSON.stringify("{FRIENDS.PHONE_NUMBER :" + friendId + "}"));
db.open(function(error, client) {
console.log("##########################" );
console.log("######INPUT :::: " + JSON.stringify(input));
if(error) throw error;
var collection = new mongodb.Collection(client, 'test_collection');
collection.update(input, {"$set":{"FRIENDS.$.LOC":"12.32, 88.33"}}, {safe:true}, function(err) {
db.close();
});
});
}
这是我要更新的 mongo 集合:
{ "FRIENDS" : [ { "PHONE_NUMBER" : "1476516777", "LOC" : "", "NAME" : "A2" } ], "OCCASION" : "cafe", "MYLOCATION" : "13.0390433,77.554942", "MYID" : "695913809", "_id" : ObjectId("503b4e41f1d9b7913d000001") }
编辑:使用此命令进行手动数据库更新工作得很好。
db.test_collection.update({"FRIENDS.PHONE_NUMBER":"1599181298"},{$set:{"FRIENDS.$.LOC":"13,14"}},false,true);