MongoDB索引搜索

时间:2017-02-02 18:10:17

标签: arrays mongodb mongoose mongodb-query

我正在执行以下查询

db.collection.explain().find({
  "$and": [
    {
      $or: [
        {
          "document.attr1": {
            "$regex": "^searchValue_1$",
            "$options": "i"
          }
        },
        {
          "document.arrayElement": {
            "$elemMatch": {
              "docInsideArray": "^searchValue_1$"
            }
          }
        }
      ]
    }, {
      "document.isActive": true
    }
  ]
})

我的内部集合中的文档具有以下架构

{
   document:{
      "attr1":"my_Document_1",
      "isActive":"Y",
      "arrayElement":[
         {
            docInsideArray:"myDocumentValue"
         },
         {
            docInsideArray:"myDocumentValue_1"
         }
      ]
   }
}

我有以下索引

db.collection.createIndex( { "document.arrayElement.docInsideArray": 1 } )

当我用explain()执行提到的find()时,它正在执行集合扫描而不是索引扫描。请建议上面提到的find()任何其他索引是否合适?

0 个答案:

没有答案