Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.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
Java 如何根据MongoDB中的唯一ID获取多个属性?_Java_Mongodb - Fatal编程技术网

Java 如何根据MongoDB中的唯一ID获取多个属性?

Java 如何根据MongoDB中的唯一ID获取多个属性?,java,mongodb,Java,Mongodb,我想从中检索一个仅包含ID和性别的列表,如list { "_id": 123 , "gender": m, "occupation": athlete }, { "_id": 456 , "gender": f, "occupation": basketball }, ... 尝试使用以下命令,但无效。正在将查询作为新的BDObject启动性别:1 dbcollection.distinct("_id", query) “\u id”是唯一的,因此无需对其调用不同的函数 如果您想获得所有带有

我想从中检索一个仅包含ID和性别的列表,如
list

{ "_id": 123 , "gender": m, "occupation": athlete },
{ "_id": 456 , "gender": f, "occupation": basketball },
...
尝试使用以下命令,但无效。正在将查询作为新的BDObject启动性别:1

dbcollection.distinct("_id", query)
“\u id”是唯一的,因此无需对其调用不同的函数

如果您想获得所有带有性别和_id的文档,可以通过以下方式实现

BasicDBObject query = new BasicDBObject();
BasicDBObject selectGenderOnly = new BasicDBObject();
selectGenderOnly.put("gender", 1);

DBCursor cursor = dbcollection.find(query, selectGenderOnly); // db.collection.find({}, {"gender": 1}) & _id field included by default in result set

 while (cursor.hasNext()) {
    BasicDBObject obj = (BasicDBObject) cursor.next();
    // use obj
    // ...
  }
它将提供如下文件

{"_id":123 , "gender": m}
{"_id":456 , "gender": f}

如何将其返回为DBObject?已更新…,find方法返回游标,将其收集为BasicDBObject并用于进一步操作如何将obj返回到循环外部?初始化循环外部的数组并将obj添加到循环中的该数组中。。返回该数组
{"_id":123 , "gender": m}
{"_id":456 , "gender": f}