MongoDB Java-3.x,根据mongoshell pgmm从大型数据集中获取特定密钥

MongoDB Java-3.x,根据mongoshell pgmm从大型数据集中获取特定密钥,java,mongodb,nosql,Java,Mongodb,Nosql,规范:mongo-java-driver-3.3.0.jar、jdk1.7、mongodb3.0.12 MongoShell : db.getCollection("Table-WEBSRVS-DTLS").find({"col1":"1000","col4":"EMEA"},{"col1":"1","col2":"1"}) 问:如何在Java中为MongoJava3.xapi实现这个mongoshell命令 thx以下是用于上述查询的等效Java代码。您可能需要在下面的代码中相应地更改数据库

规范:mongo-java-driver-3.3.0.jar、jdk1.7、mongodb3.0.12

MongoShell : db.getCollection("Table-WEBSRVS-DTLS").find({"col1":"1000","col4":"EMEA"},{"col1":"1","col2":"1"})
问:如何在Java中为MongoJava3.xapi实现这个mongoshell命令


thx

以下是用于上述查询的等效Java代码。您可能需要在下面的代码中相应地更改数据库和集合名称

import org.bson.Document;

import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;
import com.mongodb.client.model.Projections;

public class GetDataFromTableWebsrvsDtls {
    public static void main(String[] args) {

        MongoClient client = new MongoClient();

        MongoDatabase database = client.getDatabase("localhost");

        MongoCollection<Document> collection = database.getCollection("TableWebsrvsDtls");

        FindIterable<Document> collectionData = collection
                .find(Filters.and(Filters.eq("col1", "1000"), Filters.eq("col4", "EMEA")))
                .projection(Projections.include("col1", "col2"));

        for (Document doc : collectionData) {
            System.out.println(doc.toJson());
        }

        client.close();

    }

}
导入org.bson.Document;
导入com.mongodb.MongoClient;
导入com.mongodb.client.FindIterable;
导入com.mongodb.client.MongoCollection;
导入com.mongodb.client.MongoDatabase;
导入com.mongodb.client.model.Filters;
导入com.mongodb.client.model.Projections;
公共类GetDataFromTableWebServSDTLS{
公共静态void main(字符串[]args){
MongoClient=新的MongoClient();
MongoDatabase database=client.getDatabase(“localhost”);
MongoCollection collection=database.getCollection(“TableWebsrvsDtls”);
FindItemable collectionData=集合
.find(Filters.and(Filters.eq(“col1”、“1000”)、Filters.eq(“col4”、“EMEA”))
.预测(预测。包括(“col1”、“col2”));
用于(文档文档:collectionData){
System.out.println(doc.toJson());
}
client.close();
}
}

您能提供一个测试的示例文档吗?您好,thx用于快速回复,但是mongo-java-driver-3.4.0.jar和Mongodb 3.0.12.代码没有给出任何结果。有什么建议吗?您是否根据您的环境更改了数据库名称和集合名称(应为表WEBSRVS DTLS)?您正在运行本地MongoDB服务器吗?您是否收到0个文档或收到任何错误?对不起,我收到了结果,。。。小字体错误,也可以使用Projections.exclude删除“\u id”列??谢谢你的帮助