Thi*_*ark 4 java mongodb-query
我如何可以查询不同的Java MongoDB的3.0驱动程序?
我试图从MongoDB中的位置集合查询唯一类别记录.在Mongo shell中,这很简单:db.locations.distinct("categories");
在Java中,它不一样.
MongoClient client = new MongoClient();
MongoDatabase db = client.getDatabase("yelp");
//this will not compile, although examples from before 3.0 do it this way
MongoCursor<Document> c =
db.getCollection("locations").distinct("categories").iterator();
Run Code Online (Sandbox Code Playgroud)
jye*_*min 15
为了避免使用distinct进行强制转换,MongoCollection API允许您为字段提供预期的不同值类型.因此,如果你知道它们都是字符串,你可以写:
MongoCursor<String> c =
db.getCollection("locations").distinct("categories", String.class).iterator();
Run Code Online (Sandbox Code Playgroud)
或所有数字:
MongoCursor<Number> c =
db.getCollection("locations").distinct("categories", Number.class).iterator();
Run Code Online (Sandbox Code Playgroud)
你仍然可以这样做:
MongoCursor<Object> c =
db.getCollection("locations").distinct("categories", Object.class).iterator();
Run Code Online (Sandbox Code Playgroud)
如果你不能保证你正在查询的字段值的类型.
| 归档时间: |
|
| 查看次数: |
11392 次 |
| 最近记录: |