java - 如何在Spring Boot中使用elemMatch查询数组的元素,使得数组只有一列并且该列没有字段名?

标签 java mongodb spring-boot mongodb-query

我的表格具有以下形式

{ 
    "element_1": 1, 
    "element_2": 1,
    "elements":[
        "ele_1", "ele_2", "ele_3", "ele_4"
    ]
},
{ 
    "element_1":2, 
    "element_2":2, 
    "elements":[ 
        "ele_5", "ele_6", "ele_7", "ele_8"
    ]
},
{ 
    "element_1": 3,
    "element_2": 3,
    "elements": [ 
        "ele_9", "ele_10", "ele_11", "ele_12"
    ]
}

在这里,我想查询 elements 字段中包含元素 ele_1 的文档,以便使用 java 命令

Query query = new Query("Required Criteria");

应该返回的文档应该是

{ 
    "element_1": 1, 
    "element_2": 1,
    "elements":[
        "ele_1", "ele_2", "ele_3", "ele_4"
    ]
}

我想再次提及,“elements”字段中的数组没有字段名称,因此在构建 Criteria 对象时提供关键参数是不可能的。如何得到需要的结果?

最佳答案

你可以简单地写:

Query query = new Query("{'elements' : 'ele_1'}");

您不需要$elemMatch

关于java - 如何在Spring Boot中使用elemMatch查询数组的元素,使得数组只有一列并且该列没有字段名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56983200/

相关文章:

java - Pentaho RowListener ClassNotFoundException

java - 将 native sql 转换为未映射的对象

web-services - 将 spark 数据加载到 Mongo/Memcached 以供 Web 服务使用

spring boot 覆盖默认的 REST 异常处理程序

java - simpMessagingTemplate convertAndSendToUser 大量等待线程阻塞其他功能

java - 将固定大小的 JPanel 添加到 jScrollPane

java - 检查 List<String> 是否包含唯一字符串的最快方法

ruby-on-rails - Mongoid has_many/belongs_to 有 'undefined method' 错误

mysql - MongoDB 选择为?

elasticsearch - 通过spring-data-elasticsearch注释添加null_value