首页 > 解决方案 > mongodb 是否会在一个过滤器失败后立即停止查询

问题描述

我假设答案是肯定的,但我想确保它会极大地影响我设计模型的方式。如果我有下面的模型并进行以下查询,如果文档与第一个过滤器不匹配,它会立即移动到下一个文档吗?

{
    name: 'Bob',
    location: 'United States',
    family: [
        {
            name: 'tom',
            relation: 'brother',
            children: [
                {
                    name: 'Jack',
                    age: 7
                },
                ...
            ]
        },
        ...
    ]
}

db.find({ name: 'Will', 'family.relation': 'Tom' })

我的问题的意思是,查询不会费心检查是否有匹配 'family.relation': 'Tom',因为文档已经不匹配 name: 'Will'?

标签: mongodbmongodb-query

解决方案


推荐阅读