Как проверить запись документа или обновление завершено? - PullRequest
0 голосов
/ 22 марта 2012

Как я могу проверить, завершена ли запись документа или нет, так как mongodb основан на философии «огонь и забудь»?

Могу ли я написать программу, подобную этой:

db.addresses.insert(....)

db.addresses.find(filter...

Второй оператор поиска основан на вставленном документе на первом шаге.

Как мы можем проверить, что документ написан перед выполнением каких-либо / каких-либо операций с ним?

1 Ответ

1 голос
/ 22 марта 2012

Затем вы должны написать в «безопасном режиме».

Когда безопасный режим активирован, драйвер выполнит операцию записи и затем запросит подтверждение.Это существенно удваивает пропускную способность вашего запроса в БД и увеличивает время обработки ваших веб-запросов, но вы можете быть уверены, что запись успешно завершена.

Я нашел этот пример использования безопасного режима в драйвере PHP (не могу сказать,хорошо это или нет. Я пишу на Ruby, поэтому весь PHP выглядит мне неработающим :))

$insert_options = array("safe" => 2, "fsync" => TRUE); 
$email_array = array( "_id" => new MongoId($index), 

          "email" => strtolower(trim($email)), 
          "verified" => 0, 

           "date" => date("Y-m-d G:i:s",time()) 

$this->mongo_db->email->insert($email,$insert_options); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...