2013-10-11 47 views
1

我更新的集合:更新結果想

conn->update("mycollection", BSON("_id" << ID), BSON("$set" << BSON("myfiled" << myvalue))); 

有沒有辦法知道,如果集合真的更新或不?函數「update」是無效的,沒有異常被拋出。 即使沒有數據寫入數據庫,GetLastError函數也會返回空字符串。

+0

你能告訴我們圖書館conn來自哪裏?如果我們不知道您使用的功能的細節,我們無法幫助您。 –

+0

conn是標準mongo :: DBClientConnection * – Topor

回答

1

從MongoDB的文檔:

寫擔憂介紹了當 上寫操作的成功報告說的MongoDB提供了保證。編寫關注點的強度決定了擔保水平。當插入,更新 和刪除有一個弱寫關注,寫操作很快返回 。在一些失敗的情況下,寫入操作發出的弱寫 可能不會持續存在。有了更強的寫入問題,客戶端 在發送MongoDB寫入操作以確認寫入 操作後等待。

我沒有使用C++驅動程序,但在Java驅動程序中有一個WriteConcern類,可讓您控制操作。您可以檢查C++驅動程序中的等效類。

關於寫關注檢查here的更多信息。