我的 MongoDB 数据库中有一些文档。
看起来像这样:
{ "_id" : { "$oid" : "5598d61b0cfb246b90daa3f7" }, "name" : "Sarah", "uuid" : "488f69e9-8070-40f0-8c0a-b5d0bd53bdfe", "createdDate" : { "$date" : 1436079643735 }, "istested" : false }
{ "_id" : { "$oid" : "5598d6260cfb2461d4ad4f98" }, "name" : "Omah", "uuid" : "93e572c0-8acd-4397-8487-4d458bbafa8d", "createdDate" : { "$date" : 1436079654217 }, "istested" : false }
{ "_id" : { "$oid" : "5598d6300cfb246bace63cef" }, "name" : "Secret", "uuid" : "60e1413e-49e3-4315-a970-7111d55fe8d1", "createdDate" : { "$date" : 1436079664902 }, "istested" : false }
现在我想得到这个名字
其中uuid = 93e572c0-8acd-4397-8487-4d458bbafa8d
(Omah)
我该怎么做? (使用com.mongodb.async)
答案 0 :(得分:0)
要将名称设为uuid = 93e572c0-8acd-4397-8487-4d458bbafa8d
,请使用 find()
方法查询集合,创建一个过滤器以传递给 find()
< / strong>获取集合中文档子集的方法,使用 Projections 帮助程序类中的projection参数进行查找操作以限制返回的字段,然后调用< first()
操作上的strong> find()
方法返回第一个文档或null而不是游标。例如,
import static com.mongodb.client.model.Projections.*;
import static com.mongodb.client.model.Filters.*;
Block<Document> printDocument = new Block<Document>() {
@Override
public void apply(final Document document) {
System.out.println(document.toJson());
}
};
collection.find(eq("uuid", "93e572c0-8acd-4397-8487-4d458bbafa8d"))
.projection(fields(include("name"), excludeId()))
.first(printDocument);
将打印文档:
{ "name" : "Omah" }