MongoDB: Можно ли использовать второй идентификатор объекта в документе, чтобы использовать его для проверки параллелизма при обновлении? - PullRequest
2 голосов
/ 03 января 2011

Можно ли использовать второй идентификатор объекта в документе, чтобы использовать его для проверки одновременности обновления?

Проект: Microsoft MVC2 / C # / Mongo 1.6 / 10Gen C # драйвер (v0.9.0)

Я пытаюсь решить проблему параллелизма (и хранилища NOSQL). Это мой первый проект за пределами реляционной базы данных, и я не знаю, какова практика параллелизма с Mongo.

Прошлые проекты (SQL Server) обернутые проверки параллелизма вокруг столбца отметки времени /

Спасибо

1 Ответ

1 голос
/ 03 января 2011

Таким образом, документы MongoDB имеют целую страницу по параллелизму .

Большой ключ здесь действительно "какой тип параллелизма вы хотите?" Параллелизм имееттонна крайних случаев, которые вам действительно необходимо рассмотреть.

Концепция использования _id + timestamp может определенно работать в MongoDB (или любой форме уникального «это было обновлено» ключа ).РЕДАКТИРОВАТЬ: Пожалуйста, проверьте этот документ на " findAndModify ", что, вероятно, то, что вы хотите.

MongoDB имеет целый ряд интересных функций параллелизма, сосредоточенных вокруг того, как он обновляет.В частности, обратитесь к этому разделу Модификаторы обновлений .Эти специальные операции «атомарны в одном документе» и имеют тенденцию обрабатывать множество общих случаев.

Хотите увеличить значение переменной?Используйте $inc, оно даже создаст поле, если оно не существует.Есть множество вещей и хотите добавить что-то, только если это не существует?Используйте команду $addToSet.Mongo имеет целый ряд таких операций с массивами.

Они не совсем на уровне _id + timestamp, но они обрабатывают несколько распространенных случаев для управления параллелизмом.

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