我正在更新一个集合:
conn->update("mycollection", BSON("_id" << ID), BSON("$set" << BSON("myfiled" << myvalue)));
有没有办法知道收藏是否真的更新了?函数“update”是无效的,没有抛出异常。即使没有数据写入 db,函数 GetLastError 也会返回空字符串。
来自 MongoDB 文档:
写关注描述了 MongoDB 在报告写操作成功时提供的保证。写关注的强度决定了保证的水平。当插入、更新和删除的写入关注度较弱时,写入操作会快速返回。在某些失败的情况下,使用弱写入问题发出的写入操作可能不会持续存在。对于更强的写关注,客户端在发送写操作后等待 MongoDB 确认写操作。
我没有使用 C++ 驱动程序,但在 Java 驱动程序中有一个WriteConcern类可以让您控制操作。您可以检查 C++ 驱动程序中的等效类。
有关“写关注”的更多信息,请在此处查看。