2012-12-11 3 views
0

Mon schéma est:Je ne peux pas upsert dans Mongoose pour Node.js

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

Je suis en train:

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

Mais il n'y a rien dans le DB. Où ai-je tort?

Répondre

3

Vous devez utiliser _id au lieu de id et un objet JS simple dans l'appel update, et Mongoose effectuera le casting ObjectId pour vous. Essayez ceci:

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

Notez que name ne figure pas dans votre schéma, ce qui est probablement pas ce que vous voulez.

+0

Merci beaucoup. Ça a marché – Burak

Questions connexes