0
我如何檢查文檔寫入是否完成,因爲mongodb是基於 'fire and forget'的理念?如何檢查文檔寫入或更新已完成?
我可以寫一個這樣的程序:
db.addresses.insert(....)
db.addresses.find(filter...
第二條語句的發現是基於在第一步中插入的文件。
我們如何檢查文檔是在對其進行某些操作之前進行檢查的?
我如何檢查文檔寫入是否完成,因爲mongodb是基於 'fire and forget'的理念?如何檢查文檔寫入或更新已完成?
我可以寫一個這樣的程序:
db.addresses.insert(....)
db.addresses.find(filter...
第二條語句的發現是基於在第一步中插入的文件。
我們如何檢查文檔是在對其進行某些操作之前進行檢查的?
然後你應該寫在「安全模式」。
安全模式激活時,驅動程序將執行寫入操作,然後要求確認。這基本上使您的數據庫請求吞吐量翻倍,並增加Web請求的處理時間,但您可以確保寫入已成功完成。
我發現在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);
酷,你的意思是插入/更新/刪除後的下一條語句只有在寫入確認後纔會執行? – 2012-03-22 07:55:51
是的,如果使用安全模式。 – 2012-03-22 08:00:18
謝謝塞爾吉奧.... – 2012-03-22 08:03:33