Java中的mongodb查询
我是mongodb的新手,我有这样一个JSON: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中,我的操
{
"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”)
?谢谢!成功了。我犯了一些错误。“地址。街道”是正确的。