MongoDB - 从对象内的数组中查找数据

时间:2016-05-07 09:56:53

标签: mongodb mongodb-query spring-data-mongodb

我的数据库格式为

{
"_id" : ObjectId("56fc92adcf908c9f296e5885"),
"_class" : "com.abc.ppm.dto.AccessAttemptDTO",
"url" : "/myProject/edit",
"ipAddress" : "127.0.0.1",
"param" : {
    "iecode" : [ 
        "P1234"
    ],
    "id" : [ 
        "5696578c6d34f835dc632fdd "
    ]
},
"accessTime" : "30-3-2016 10:59:57",
"email" : "abc@gmail.com",
"entity" : "admin",
"entityCode" : ""
},

{
"_id" : ObjectId("56fc92adcf908c9f296e5887"),
"_class" : "com.abc.ppm.dto.AccessAttemptDTO",
"url" : "/myProject/edit",
"ipAddress" : "127.0.0.1",
"param" : {
    "iecode" : [ 
        "P1122"
    ],
    "id" : [ 
        "5696578c6d34f835dc632fdd "
    ]
},
"accessTime" : "30-3-2016 10:59:57",
"email" : "abc@gmail.com",
"entity" : "admin",
"entityCode" : ""

}

现在我想找到iecode是' P1234'的所有enries。我怎么做? (注意:iecodes值以字符串数组格式存储。)

1 个答案:

答案 0 :(得分:2)

您可以编写如下查询:

SELECT @var := CONCAT_WS(', ', col1, col2)
FROM tablename
WHERE id = 'n';