Это действительно сложно. Я хочу найти select nodes.index where radio.mac_address="00:06:5A:03:2E:5B"
. как я могу получить этот запрос в MongoDB с помощью java? Мой mongodb выглядит следующим образом.Как найти документ с mongoDB с помощью mongodb java в подвале массива документа?
Я попытался так много запросов. один из них заключается в следующем
BasicDBObject query = new BasicDBObject("nodes.radios.mac_address", "mac_address value";
BasicDBObject fields = new BasicDBObject("nodes.$", 1);
DBCursor cursor = node_info.find(query, fields);
Обновлено Первые удалось решить
Как я могу также написать запрос на обновление, как update rssiLocal="90" where mac_address="00:06:5A:03:2E:5B"
.
Вы можете проверить эту работу запросов с вашей коллекции 'db.collectionName.find ({ "узлы": { "$ elemMatch": { "радио": { "$ elemMatch": { "mac_address" : "00: 06: 5A: 03: 2E: 5B"}}}}}, {"nodes. $. Index": 1}) ' – Yogesh
Нет, давая мне пустой документ. –
ОК, поэтому в этом случае вы должны использовать агрегирование монго http://docs.mongodb.org/ecosystem/tutorial/use-aggregation-framework-with-java-driver/ – Yogesh