繁体   English   中英

从Mongodb异步驱动程序文档中获取价值

[英]Get value from Mongodb async driver document

我的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-4d458bbafa8duuid = 93e572c0-8acd-4397-8487-4d458bbafa8d )的名称

我该怎么做呢? (使用com.mongodb.async)

要获得uuid = 93e572c0-8acd-4397-8487-4d458bbafa8d的名称,请使用find()方法查询集合,创建一个过滤器以传递给find()方法以获取集合中文档的子集,将Projections助手类中的projection参数用于find操作以限制返回的字段,然后在find()操作上调用first()方法以返回第一个文档或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" }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM