Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在mongoDB中使用C++;司机_C++_Mongodb - Fatal编程技术网

C++ 在mongoDB中使用C++;司机

C++ 在mongoDB中使用C++;司机,c++,mongodb,C++,Mongodb,我尝试使用$MeNeMatt与MangoDB C++驱动程序(2.6COMPAT)进行投影: 样本文件: { "name" : "Tom", "lists" : [ {"value" : 1}, {"value" : 2}, {"value" : 3} ] } 我想为Tom获取一份仅值1的文档 在shell中,它将如下所示: > db.aaa.find({"name" : "Tom", "lists.value" : 1}, {

我尝试使用$MeNeMatt与MangoDB C++驱动程序(2.6COMPAT)进行投影:

样本文件:

{ 
  "name" : "Tom",
  "lists" : [
             {"value" : 1}, {"value" : 2}, {"value" : 3}
            ]
}
我想为Tom获取一份仅值1的文档

在shell中,它将如下所示:

> db.aaa.find({"name" : "Tom", "lists.value" : 1}, {"lists" : {$elemMatch : {"value" : 1} } })
DBClientConnection conn;
conn.connect("localhost:27017");
BSONOBj projection = fromjson("{ lists: {\"$elemMatch:\": {value: 1} } }");
conn.query("db.aaa", Query("{}"), 0, 0, &projection)
现在,没有合适的覆盖
query
方法,该方法接受查询的投影部分的
BSONObj
。我是不是遗漏了什么


非常感谢您的帮助

您需要使用DBClientBase::query()方法。其签名如下:

auto_ptr<DBClientCursor> DBClientBase::query(
    const string &ns,
    Query query,
    int nToReturn,
    int nToSkip,
    const BSONObj *fieldsToReturn,
    int queryOptions,
    int batchSize
)

无法+1您的解决方案,信誉不足:)无论如何,它是有效的,除了第二个参数应该是BSONObj,“fromjson”部分应该通过引用传递,而且您忘记了在queryOptions和batchSize中放置值。是的,我只想告诉您要点。最后两个参数实际上有默认值,所以您不需要它们,并且query可以是一个查询对象(更易于使用)。谢谢你的其他反馈,我会更新的。(更新:更新)