如何检查文件写入或更新完成?

时间:2012-03-22 07:50:39

标签: mongodb mongodb-php

我如何检查文档写入是否已完成,因为mongodb基于的理念 “火与忘记”?

我可以写一个这样的程序:

db.addresses.insert(....)

db.addresses.find(filter...

第二个语句find基于第一步中插入的文档。

在对文档执行某些操作之前,我们如何检查文档是否已写入?

1 个答案:

答案 0 :(得分:1)

然后你应该以“安全模式”写作。

激活安全模式后,驱动程序将执行写入操作,然后要求确认。这实际上会使您的数据库请求吞吐量翻倍,并增加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);