MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Équivalent météore upsert

MISE À JOUR :@Thomas4019 souligne que upsert est désormais pris en charge :

v0.6.6

"Ajouter la prise en charge de l'upsert. Collection.update prend désormais en charge l'option {upsert :true}. De plus, ajoutez une méthode Collection.upsert qui renvoie l'ID de l'objet nouvellement inséré, le cas échéant."

Source :History.md

Documentation d'utilisation :http://docs.meteor.com/#upsert

-- la réponse originale suit --

Il y a une carte sur la feuille de route Trello Meteor sur laquelle vous pouvez voter pour indiquer son importance pour vous :https:// trello.com/c/C91INHmj

Il est actuellement dans la liste "Plus tard", ce qui signifie qu'il faudra un certain temps avant qu'il ne soit mis en œuvre à moins qu'il ne reçoive beaucoup de votes.

L'autre chose importante à noter est que puisque meteor est open-source, vous pouvez implémenter vous-même les modifications nécessaires et les soumettre en retour.

Il existe plusieurs solutions, mais il est impossible de dire laquelle est la plus appropriée pour votre cas d'utilisation sans plus de connaissances sur votre conception.

  1. Utilisez le code tel quel, ajoutez un index unique à la collection et gérez l'erreur de clé en double si/quand elle se produit

  2. Modifiez la conception pour implémenter une concurrence optimiste explicite.

Le cœur de ces deux solutions est le même, gérez gracieusement le cas d'erreur. #1 est plus facile à mettre en œuvre. #2 permet une plus grande flexibilité dans la gestion de la simultanéité optimiste.