代码之家  ›  专栏  ›  技术社区  ›  Ilijanovic

$in运算符是否有内置的记忆

  •  0
  • Ilijanovic  · 技术社区  · 4 年前

    我知道我可以用 $in . 例如,如果我有一个数组:

    [1, 2, 2, 2, 3, 4]
    

    我的问题是,mongodb是为每个元素查询6次,还是mongodb有一些内置的备忘录,所以它只查询4次 2

    0 回复  |  直到 4 年前
        1
  •  0
  •   Joe    4 年前

    这个 explain

    PRIMARY> db.collection.explain().find({a:{$in:[1, 2, 2, 2, 3, 4]}}).next().queryPlanner
    
    {
        "plannerVersion" : 1,
        "namespace" : "test.collection",
        "indexFilterSet" : false,
        "parsedQuery" : {
            "a" : {
                "$in" : [
                    1,
                    2,
                    3,
                    4
                ]
            }
        },
        "winningPlan" : {
            "stage" : "EOF"
        },
        "rejectedPlans" : [ ]
    }