0
Я новичок в MongoDB, у меня есть JSON как это:MongoDB запросы в Java
{
"first_name" : "John",
"last_name" : "Smith",
"address" : {
"street" : "123 Main Street",
"city" : "Anytown",
"state" : "NY"
}
}
Теперь я хочу, чтобы найти все документы, где «улица» = «123» (например). В Монго оболочки, я делаю это следующим образом:
db.collection_name.find(
{
'address.street' : '123'
}
)
В Java, если я хочу, чтобы найти документы, в которых «Firstname» = «Джон», я делаю это так:
BasicDBObject nameQuery = new BasicDBObject();
nameQuery.put("firstname", "John");
DBCursor cursor = collection.find(nameQuery);
Я не могу понять, для address.street, я что-то пробовал, но это не сработало.
Я попытался это:
addressQuery.put("address.street", "123");
Я пробовал. Но это не работает для меня! Ты это пробовал? Получили ли вы результат? – kunal18
@stalin Вы уверены, что нет опечатки в 'address.street' и в' 123 Main Street' при создании DBObject? Да, я просто попробовал это с вашими данными, и это сработало. – assylias
@stalin Просто убедитесь, что вы пытаетесь с помощью 'new BasicDBObject (" address.street "," 123 ")' вместо 'new BasicDBObject (" address.street "," 123 Main Street ")' ? – assylias