正则表达式 – MongoDB,通过索引字段上的正则表达式执行查询
我想通过名称找到一个帐户(在MongoDB收集的50K帐户中)
以通常的方式:我们用字符串找到 db.accounts.find({ name: 'Jon Skeet' }) // indexes help improve performance! 正则表达式怎么样?这是一个昂贵的操作吗? db.accounts.find( { name: /Jon Skeet/ }) // worry! how indexes work with regex? 编辑: 据WiredPrairie: db.accounts.find( { name: /^Jon Skeet/ }) // indexes will help!' MongoDB $regex
其实根据文件,
http://docs.mongodb.org/manual/reference/operator/query/regex/#index-use 换一种说法: 对于/ Jon Skeet / regex,mongo将完全扫描索引中的键,然后将获取匹配的文档,这可能比集合扫描更快。 对于/ ^ Jon Skeet / regex,mongo将仅扫描从索引中正则表达式开始的范围,这将更快。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |