2011-04-10 53 views
1

我通過API請求具有唯一ID的JSON對象。其中一些項目已經存在於我的MongoDB數據庫中。有一些像這樣的功能:如何更換MongoDB中的項目

Collection.replace({ id: '12345' }, JSON_object) 

其尋找的對象與id字段擺在首位,然後用新的對象來替換它,如果它發現一個,或將新對象添加到集合,如果找不到匹配的對象?

我這樣做在node.js與貓鼬。不幸的是,ObjectId的實現似乎存在問題,所以我正在尋找一種通用的方法。

回答

4

請記住,你必須使用db.bson_serializer.ObjectID功能,以獲得MongoDB的IDS。

var ObjectID = db.bson_serializer.ObjectID; 
db.collection.update({_id: ObjectID('423523452')}, {foo: 'bar'}, true)