首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >$in运算符是否有一些内置的记忆化

$in运算符是否有一些内置的记忆化
EN

Stack Overflow用户
提问于 2020-05-23 02:34:43
回答 1查看 22关注 0票数 0

我知道我可以用$in在一个特定字段上搜索多个值。例如,如果我有这样的数组:

代码语言:javascript
复制
[1, 2, 2, 2, 3, 4]

假设这就是我们要查询的ID。

我的问题是,mongodb是否为每个元素查询6次,还是mongodb有一些内置的记忆化,所以它只查询4次,因为2在这里查询了3次,所以再次查询它是不安全的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-23 07:26:04

explain帮助程序可以清楚地说明这一点:

代码语言:javascript
复制
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" : [ ]
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61961704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档