我正在使用JSON的这种结构:
{
'_id': ObjectId("5a264ff8fa5bd87ed9562471"),
'sections': [
{
fields: [
{
'field_name': "Something1"
},
{
'field_name': "Something2"
}, ...
]
}, ...
]
}
现在我想知道'fields'数组中字典的索引,其中包含field_name“Something1”。我尝试了一些事情,我尝试的最后一件事是
db.getCollection('collection_name').aggregate(
[
{$match: {'_id': ObjectId("5a264ff8fa5bd87ed9562471")}},
{$project: {index: {$indexOfArray: ["$section.0.fields.field_name", "Something1"]}}}
]
)
结果是
index = -1
然而,我真正想要的是
index = 0
你能用一种不同的方法来帮助我获得索引吗?