sql >> Base de Datos >  >> NoSQL >> MongoDB

Equivalente de alteración de meteorito

ACTUALIZACIÓN:@Thomas4019 señala que upsert ahora es compatible:

v0.6.6

"Agregue compatibilidad con upsert. Collection.update ahora admite la opción {upsert:true}. Además, agregue un método Collection.upsert que devuelve la identificación del objeto recién insertado, si corresponde".

Fuente:History.md

Documentación de uso:http://docs.meteor.com/#upsert

-- sigue la respuesta original --

Hay una tarjeta en Trello Meteor Roadmap que puede votar para indicar su importancia para usted:https:// trello.com/c/C91INHmj

Actualmente se encuentra en la lista "Más tarde", lo que significa que pasará un tiempo antes de que se implemente a menos que reciba muchos votos.

La otra cosa importante a tener en cuenta es que, dado que Meteor es de código abierto, puede implementar los cambios necesarios usted mismo y enviarlo de vuelta.

Hay varias soluciones, pero es imposible saber cuál es la más apropiada para su caso de uso sin tener más conocimiento de su diseño.

  1. Use el código tal como está, agregue un índice único a la colección y maneje el error de clave duplicada si surge

  2. Cambie el diseño para implementar la concurrencia optimista explícita.

El núcleo de ambas soluciones es el mismo, manejar con gracia el caso de error. #1 es más fácil de implementar. #2 permite una mayor flexibilidad en cómo se maneja la concurrencia optimista.