从具有字段条件的monogdb集合中检索文档

时间:2018-01-30 03:05:00

标签: java mongodb

我正在尝试查询mongodb集合并根据字段值检索某些文档,但每个记录只检索一个字段。我尝试了以下但没有得到我想要的解决方案:

MongoCollection<Document> collection = 
    database.getCollection("client_data"); 
        //Document document = collection
        //            .find(new BasicDBObject("sampleUser", "myDb"))
        //.projection(Projections.fields(Projections.include("address"), 
        //Projections.excludeId())).first();


        BasicDBObject aQuery = new BasicDBObject();
        aQuery.put("clientId",567);
        FindIterable<Document> iterDoc = collection.find(aQuery); 

以下检索clientid = 567的所有文档,但我只想显示地址字段。 注释掉的代码也是我尝试的但不确定如何将其与查询结合起来。

1 个答案:

答案 0 :(得分:0)

为了:

  

检索clientid = 567的所有文档,但我只想显示地址字段

您将执行以下操作:

collection
    .find(Filters.eq("clientId", 567))
    .projection(Projections.fields(
        Projections.include("address"),  
        Projections.excludeId())
    ).first()

打破它:

  • .find(Filters.eq("clientId", 567)):应用谓词&#39;其中clientId = 567&#39;
  • .projection(Projections.fields(Projections.include("address"), Projections.excludeId())):让回复包含address字段并排除_id字段