Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的mongodb查询_Mongodb_Mongodb Query_Mongodb Java - Fatal编程技术网

Java中的mongodb查询

Java中的mongodb查询,mongodb,mongodb-query,mongodb-java,Mongodb,Mongodb Query,Mongodb Java,我是mongodb的新手,我有这样一个JSON: { "first_name" : "John", "last_name" : "Smith", "address" : { "street" : "123 Main Street", "city" : "Anytown", "state" : "NY" } } 现在我想找到所有文档,其中“street”=“123”(比如说)。在mongo shell中,我的操

我是mongodb的新手,我有这样一个JSON:

{
    "first_name" : "John",
    "last_name"  : "Smith",
    "address" : {
        "street" : "123 Main Street",
        "city"   : "Anytown",
        "state"  : "NY"
   }
}
现在我想找到所有文档,其中“street”=“123”(比如说)。在mongo shell中,我的操作如下:

db.collection_name.find(
  {
    'address.street' : '123'
  }
)
在Java中,如果我想查找“firstname”=“John”的文档,我可以按照以下方式进行操作:

BasicDBObject nameQuery = new BasicDBObject();
nameQuery.put("firstname", "John");
DBCursor cursor = collection.find(nameQuery);
我想不出地址,我试过一些东西,但没用

我试过这个:

addressQuery.put("address.street", "123");

你的建议应该行得通。这对我很有用:

DBCollection coll = db.getCollection(...);
DBCursor cursor = coll.find(new BasicDBObject("address.street", "123 Main Street"));
while (cursor.hasNext()) {
    System.out.println(cursor.next()); //prints the object
}

我试过了。但这对我不起作用!你试过了吗?你得到结果了吗?@斯大林你确定在创建DBObject时,
address.street
123 Main street
没有打字错误吗?是的,我刚刚用你的数据试过了,效果很好。@stalin只是想确定一下,你是不是在用
新的BasicDBObject(“address.street”,“123”)
而不是
新的BasicDBObject(“address.street”,“123 Main street”)
?谢谢!成功了。我犯了一些错误。“地址。街道”是正确的。