java - 如何使用 Mongodb java 获取文档数组?

标签 java mongodb mongodb-query mongodb-java nosql

如何在mongodb java中获取数组下的所有文档。我的数据库如下。想要检索数组198_168_1_134下的所有数据。

enter image description here

下面是我尝试过的一些内容,

eventlist.find(new BasicDBObject("$match","192_168_10_17"))
eventlist.find(new BasicDBObject("$elemMatch","192_168_10_17"))
eventlist.find(null, new BasicDBObject("$192_168_10_17", 1))

最佳答案

您有两个选择:

  • 使用 .find() 来挑选您必须获取的文档。
  • 通过投影文档来使用聚合框架。

通过使用 .find() ,您可以执行以下操作:

db.collection.find({}, { 192_168_10_17 : 1 })

通过使用聚合框架,您可以:

db.collection.aggregate( { $project : { 192_168_10_17 : 1 } } )

它将获取192_168_10_17文档数据。

当然,为了在 Java 中实现此功能,您必须将这些查询翻译为相应的 BasicDBObject 实例链。

关于java - 如何使用 Mongodb java 获取文档数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29771457/

相关文章:

java - JNI 获取异常信息 - 试图读取或写入 protected 内存

java - 具有多线程的 RabbitMQ RPC 生产者

mongodb - MongoDB Stitch 的导入/导出中是否包含依赖项?

java - 如何为多个 session 实现 cron 作业,每个 session 都有自己的时间间隔

java - 将 CopyOnWriteArrayList 包装在 Synchronized block 中

python - 如何返回数组中的嵌套文档

使用 $in 运算符对大量 ID 进行 id 查询的 Mongodb 太慢了,有其他选择吗?

mongodb - 使用 MongoDB 查询在字符串中搜索多个单词/子字符串?

ruby - Mongoid 不删除 Mongo 对象

arrays - Mongoose 创建包含对象数组的记录(转换为数组失败)