Mongodb Java查询从不返回值

Mongodb Java查询从不返回值,java,mongodb,Java,Mongodb,我正在尝试使用下面的代码构建一个简单的mongodb数据库查找。在运行时,代码运行但从不返回值 生成的查询在命令行中工作没有问题。数据库相当大,大约2.8gb public static void main(String[]args){ String customer="peter"; String job="builder"; // To connect to mongodb server MongoClient mongo

我正在尝试使用下面的代码构建一个简单的mongodb数据库查找。在运行时,代码运行但从不返回值

生成的查询在命令行中工作没有问题。数据库相当大,大约2.8gb

public static void main(String[]args){

        String customer="peter";
        String job="builder";


        // To connect to mongodb server
        MongoClient mongoClient=new MongoClient("localhost",27017);

        // Now connect to your databases
        MongoDatabase db=mongoClient.getDatabase("customers");
        System.out.println("Connect to database successfully");

        // Now connect to your collection
        MongoCollection<Document> collection=db.getCollection("customerData");
        System.out.println("Connect to collection");

        BasicDBObject andQuery=new BasicDBObject();
        List<BasicDBObject> obj=new ArrayList<BasicDBObject>();

        obj.add(new BasicDBObject("job",job));
        obj.add(new BasicDBObject("customer",customer));
        andQuery.put("$and",obj);

        System.out.println(andQuery.toString());

        FindIterable<Document> iterable=collection.find(new Document(andQuery));
        MongoCursor<Document> iterableDocument=iterable.iterator();

        while(iterableDocument.hasNext()){
          Document wholeDocument=(Document)iterableDocument.next();
          System.out.println("1: "+wholeDocument.get("age"));
          System.out.println("2: "+wholeDocument.get("dob"));
        }
}
publicstaticvoidmain(字符串[]args){
字符串customer=“peter”;
字符串job=“builder”;
//要连接到mongodb服务器
MongoClient MongoClient=新的MongoClient(“本地主机”,27017);
//现在连接到您的数据库
MongoDatabase db=mongoClient.getDatabase(“客户”);
System.out.println(“成功连接到数据库”);
//现在连接到您的收藏
MongoCollection collection=db.getCollection(“customerData”);
System.out.println(“连接到集合”);
BasicDBObject和Query=新的BasicDBObject();
List obj=new ArrayList();
对象添加(新的基本对象(“作业”,作业));
对象添加(新的基本对象(“客户”,客户));
andQuery.put(“$and”,obj);
System.out.println(andQuery.toString());
findItemerable=collection.find(新文档(andQuery));
MongoCursor iterableDocument=iterable.iterator();
while(iterableDocument.hasNext()){
documentwholedocument=(Document)iterableDocument.next();
System.out.println(“1:+wholeDocument.get(“年龄”);
System.out.println(“2:+wholeDocument.get”(“dob”);
}
}

尝试将查询简化为

DBObject obj = new BasicDBObject();
 obj.put( "job", job );
 obj.put( "customer", customer );
collection.find(new Document(obj))
另外,getDatabase和getCollection不进行连接。如果您拼错了这些部分,查询将不会返回任何内容,因为您遇到的是一个空数据库。(第一次连接尝试是在调用“find”时。如果数据库或集合不存在,Mongo将在您向其写入时创建它)