使用驱动程序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
答案 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);
答案 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);