Arrays 数组中的Mongodb对象数组中的Mongodb对象
我有一个JSON数据结构:Arrays 数组中的Mongodb对象数组中的Mongodb对象,arrays,json,mongodb,object,mongodb-query,Arrays,Json,Mongodb,Object,Mongodb Query,我有一个JSON数据结构: { data : { fields_data : [ [ { key1 : val }, { key1 : val } ], [ { key2 : val }, { key2 : val } ] ] } } 我很难质疑这一点,我曾尝试以其
{
data :
{
fields_data :
[
[
{
key1 : val
},
{
key1 : val
}
],
[
{
key2 : val
},
{
key2 : val
}
]
]
}
}
我很难质疑这一点,我曾尝试以其他方式使用in和elemMatch,但没有成功
我尝试过的一个查询:
{
"data.fields_data": {
$in: [{
$in: [{
$elemMatch:
{
$elemMatch : {
"key1": "random text"
}
}
}]
}]
}
}
有什么建议吗?嗯,嵌套的
$elemMatch
应该在这里起作用:
db.collection.find{
“数据.字段\u数据”:{
$elemMatch:{
$elemMatch:{
键1:val
}
}
}
}
<>但是你应该考虑去掉嵌套数组。例如,您可以使用array if对象代替:
{
data: {
fields_data: [{
data: [
{ key1: val },
{ key1: val }
]}, {
data: [
{ key2: val },
{ key2: val }
]}
]
}
}
它将允许您使用简单的点符号查询文档:
{ 'data.fields_data.data.key1': val }