Заменить на (mysql) эквивалент в mongodb - PullRequest
2 голосов
/ 23 июля 2011

Я хочу сделать пакетную вставку в mongodb, но если запись уже существует, она должна заменить ее новой. Есть команда обновления, но это невозможно сделать в пакетном режиме. Есть идеи, возможно ли это?Я использую Java API.Спасибо

Редактировать: Поскольку размер моей коллекции не очень велик, я переименовываю коллекцию с опцией drop Target, установленной в true, и создаю новую коллекцию с этими данными. Поскольку я не могу рисковать удалением и созданием новой коллекции, этолучше, но будет здорово, если есть замена на эквивалентную.

Ответы [ 2 ]

0 голосов
/ 21 марта 2014

Посмотрите на документ mongodb:

Shorthand for insert/update is save - if _id value set, the record is updated if it exists or inserted if it does not; if the _id value is not set, then the record is inserted as a new one.

in http://mongodb.github.io/node-mongodb-native/markdown-docs/insert.html

0 голосов
/ 23 июля 2011

Если в вашей коллекции есть какой-либо первичный ключ, он будет заменен автоматически. Убедитесь, что в ваших документах есть ключ _id.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...