MongoDB: прочитайте и заблокируйте документ перед записью - PullRequest
0 голосов
/ 23 февраля 2019

Монго новичок здесь, я из Firebase Cloud Firestore, где для обеспечения согласованности данных вы должны выполнить транзакцию для чтения документа перед записью, если вы хотите, чтобы другой клиент тем временем прочитал тот же документ.Это особенно полезно, когда вам нужно написать документ на основе состояния другого документа.Упрощенный пример:

database.runTransaction((tx) => {
  const exists = tx.read(doc1);
  // if another client read doc1 at this point (or at any point during 
  // the transaction execution) the transaction will fail
  if (exists) tx.write(doc2);
});

Я искал тот же шаблон в документах Mongo, но я не нашел ничего связанного, только указания на транзакции записи в несколько документов (известные как пакетная запись в Cloud Firestore), однакоэто не решает мою проблему.

У кого-нибудь есть предложения / разъяснения?

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