2012-12-11 50 views
0

我的模式是:我不能在貓鼬UPSERT對Node.js的

var VenueSchema = new Schema({ 
    _id: Schema.Types.ObjectId 
    ,rating : Number 
}) 

而且我想:

var v = new Venue() 
v.name = venue.name 
Venue.update({ id : Schema.Types.ObjectId(venue.id)}, v, {upsert: true}) 

但有沒有在DB。我錯在哪裏?

回答

3

您需要使用_id而不是idupdate調用中的普通JS對象,並且Mongoose將爲您執行ObjectId強制轉換。試試這個:

Venue.update({ _id : venue.id}, {name: venue.name}, {upsert: true}); 

注意name沒有出現在你的方案,這可能不是你想要的。

+0

非常感謝。這工作 – Burak