Mongo(3个分片)驱动程序C ++:Upsert“erro SyncClusterConnection”

时间:2016-07-27 10:50:12

标签: c++ mongodb qt c++11

当我尝试连接3个分片时,我在upsert中运行命令MongoDB时遇到问题。

如果我只连接一个碎片,我没有问题。

我正在使用的代码是:

ConnectionString cs("mongodb://host:pass@server1:27017,server2:27017,server3:27017", ConnectionString::ConnectionType::SYNC);

DBClientBase *conn = cs.connect( mongo_erro );
BSONObjBuilder bojUpsert;

bojUpsert.append("teste","1234567890");
bojUpsert.append("valor",123);

conn->update("xxx.xxx", Query("{teste:\"1234567890\"}") , bojUpsert.obj() , mongo::UpdateOptions::UpdateOption_Upsert);

我收到的错误是:

 **terminate called after throwing an instance of 'mongo::UserException'
  what():  SyncClusterConnection::update upsert query needs _id**

我正在使用Linux Mint,QT 4.8.6 + libmongo-client-dev 0.1.7-1

0 个答案:

没有答案