从mongodb获取一些属性,除了一两个

时间:2014-03-04 20:10:19

标签: java mongodb mongodb-java

除了某些属性之外,我想获取mongoDB中的一些信息。

我在cmd中尝试过它并且有效:

db.orders.find({name:"chabeee"},{_id:0, name:1, worksAt:1})

然后我得到了这个结果:

{ "name" : "chabeee", "worksAt" : "jobAtBp" }
{ "name" : "chabeee", "worksAt" : "jobAtRE" }

没关系,但我想进入Java程序。我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

您必须创建一个额外的BasicDBObject,它将用于指出要提取的确切键。最后,必须调用DBCollection#find(DBObject ref, DBObject keys)方法才能传递所需的投影键。

BasicDBObject query = new BasicDBObject("name", "chabeee");
BasicDBObject keys = new BasicDBObject();
keys.put("_id", 0);
keys.put("name", 1);
keys.put("worksAt", 1);
BasicDBCursor result = collection.find(query, keys);

然后你只需要迭代BasicDBCursor并验证结果。

while (cursor.hasNext()) {
    System.out.println(cursor.next());
}