从MongoDB中的两级嵌套数组查询indexOfArray

时间:2017-12-19 13:22:20

标签: arrays mongodb nested pymongo

我正在使用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

你能用一种不同的方法来帮助我获得索引吗?

0 个答案:

没有答案