sql >> Database >  >> NoSQL >> MongoDB

Meteor upsert equivalent

UPDATE:@Thomas4019 wijst erop dat upsert wordt nu ondersteund:

v0.6.6

"Voeg upsert-ondersteuning toe. Collection.update ondersteunt nu de optie {upsert:true}. Voeg daarnaast een Collection.upsert-methode toe die de nieuw ingevoegde object-ID retourneert, indien van toepassing."

Bron:History.md

Gebruiksdocumentatie:http://docs.meteor.com/#upsert

-- origineel antwoord volgt --

Er is een kaart op de Trello Meteor Roadmap waarop u kunt stemmen om het belang ervan voor u aan te geven:https:// trello.com/c/C91INHmj

Het staat momenteel in de "Later"-lijst, wat betekent dat het een tijdje zal duren voordat het wordt geïmplementeerd, tenzij het veel stemmen krijgt.

Het andere belangrijke om op te merken is dat aangezien meteor open-source is, je de nodige wijzigingen zelf kunt doorvoeren en terug kunt indienen.

Er zijn verschillende oplossingen, maar welke het meest geschikt is voor uw gebruikssituatie is onmogelijk te zeggen zonder meer kennis van uw ontwerp.

  1. Gebruik de code zoals deze is, voeg een unieke index toe aan de verzameling en behandel de dubbele sleutelfout als/wanneer deze zich voordoet

  2. Verander het ontwerp om expliciet optimistische gelijktijdigheid te implementeren.

De kern van beide oplossingen is hetzelfde, behandel het foutgeval gracieus. #1 is makkelijker te implementeren. #2 zorgt voor meer flexibiliteit in hoe de optimistische concurrency wordt afgehandeld.



  1. Geospatiale ondersteuning in MongoDB

  2. Hoe moet ik verbinding maken met een Redis-instantie vanuit een AWS Lambda-functie?

  3. Waarom MongoDB-configuratieservers slechts één of drie moeten zijn?

  4. pymongo-verificatie mislukt in python-script