2011-04-10 4 views
1

Je demande des objets JSON avec des identifiants uniques via une API. Certains de ces éléments existent déjà dans ma base de données MongoDB. Y at-il des fonctionnalités comme ceci:Comment remplacer des éléments dans MongoDB

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

qui recherche un objet avec ce champ id en premier lieu, et il remplace alors le nouvel objet, si elle en trouve un, ou ajoute un nouvel objet à la collection , si aucun objet correspondant n'a été trouvé? Je le fais dans node.js avec mongoose. Malheureusement, la mise en œuvre ObjectId semble défectueuse, donc je suis à la recherche d'une approche générale.

Répondre

4

Rappelez-vous que vous devez utiliser la fonction db.bson_serializer.ObjectID afin d'obtenir mongodb ids.

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