2012-12-11 52 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