【发布时间】:2015-04-14 10:39:15
【问题描述】:
这真的很难。我想找到select nodes.index where radio.mac_address="00:06:5A:03:2E:5B"。如何使用 java 在 MongoDB 中获取此查询?
我的mongodb如下。
我尝试了很多查询。其中之一如下
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({"nodes":{"$elemMatch":{"radios":{"$elemMatch":{"mac_address":"00:06:5A:03:2E:5B"}}}}},{"nodes.$.index":1}) -
不给我空文件。
-
好的,所以这种情况下你应该使用 mongo 聚合docs.mongodb.org/ecosystem/tutorial/…
-
@yogesh 该查询工作正常。它给了我包含 mac_address 而不仅仅是索引的整个文档。
-
如何更新
radio_index where mac_address="some value"。
标签: java mongodb mongodb-query mongodb-java