Mongodb Java - 如何使用find()或findOne()返回受限字段

时间:2011-07-04 08:14:01

标签: java mongodb

使用驱动程序Java Mongodb,我正在寻找一种方法来返回只有受限制的字段 find()findOne()。 例如,我有一个集合"people",其中包含以下字段:"id""name""surname""address""city" ...我只是想要返回"name""surname"

我在网上搜索过,我刚刚找到了代码Java Mongodb的例子:http://vsbabu.org/mt/archives/2010/03/02/simple_mongodbjava_example.html

4 个答案:

答案 0 :(得分:40)

如果您使用的是Java Driver 3.1,则可以使用http://docs.memsql.com/latest/concepts/multi_insert_examples/#c

if '-' in citystr:
    sep_index = citystr.find('-')
    city = citystr[0:sep_index].title()
    state = citystr[sep_index+1:].upper()
else:
    city = citystr.title()

答案 1 :(得分:12)

您可以传递另一个带有字段名称的DBObject并将其传递到此处:

cur = coll.find(new BasicDBObject("id", 6655), your_dbobject_with_field_names);

以下是API documentation

答案 2 :(得分:2)

此代码将处理您的问题。(java驱动程序3.0.2)

onCreateView(...)

答案 3 :(得分:1)

此代码适用于我:

String json = "{_id:0,name:1,surname:1}";
Bson bson =  BasicDBObject.parse( json );
FindIterable<Document> iterDoc = collection.find().projection(bson);