MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Meteor upsert еквивалент

АКТУАЛИЗАЦИЯ:@Thomas4019 посочва, че upsert вече се поддържа:

v0.6.6

„Добавяне на поддръжка за upsert. Collection.update вече поддържа опцията {upsert:true}. Освен това добавете метод Collection.upsert, който връща идентификатора на нововмъкнатия обект, ако е приложимо.“

Източник:History.md

Документация за употреба:http://docs.meteor.com/#upsert

-- следва оригиналният отговор --

В пътната карта на Trello Meteor има карта, за която можете да гласувате, за да посочите нейната важност за вас:https:// trello.com/c/C91INHmj

В момента е в списъка „По-късно“, което означава, че ще мине известно време, преди да бъде внедрен, освен ако не получи много гласове.

Другото важно нещо, което трябва да се отбележи, е, че тъй като meteor е с отворен код, можете сами да внедрите необходимите промени и да изпратите обратно.

Има няколко решения, но кое е най-подходящото за вашия случай на употреба е невъзможно да се каже без повече познания за вашия дизайн.

  1. Използвайте кода такъв, какъвто е, добавете уникален индекс към колекцията и обработете грешката на дублирания ключ, ако/когато възникне

  2. Променете дизайна, за да приложите ясна оптимистична едновременност.

Ядрото и на двете решения е едно и също, елегантно справяне със случая на грешка. #1 е по-лесен за изпълнение. #2 позволява по-голяма гъвкавост в начина, по който се обработва оптимистичната едновременност.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Агрегиране в колба-монгодвигател

  2. Проблеми с намирането/извличането на Meteor MongoDB

  3. Трансформирайте клавиатурната карта във вектор с помощта на MongoDB рамка

  4. Преброяване на съвместни събития с помощта на рамка за агрегиране на Mongo

  5. Как да настроите обема на данните на docker mongo