有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java使用字段条件从monogdb集合检索文档

我试图查询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) 个答案

  1. # 1 楼答案

    为了:

    retrieves all documents for clientid = 567, but I only want to show the address field

    您将执行以下操作:

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

    细分:

    • .find(Filters.eq("clientId", 567)):应用谓词“where clientId=567”
    • .projection(Projections.fields(Projections.include("address"), Projections.excludeId())):让响应包括address字段,并排除_id字段