我有一个名为:article的集合 当前用户集合具有以下属性:
让我们先考虑一个文件
{
title: yoga for beginners
description: blah blah...
tags: blah blah...
seo_title: yoga.for.beginners OR yoga-for-beginners
}
通过将标题空格替换为。{dot}来生成seo_title,并添加一个唯一ID(如果它已作为yoga.for.beginners.86ht7已存在于文章集合中)
现在进行数据检索,我正在编写一个查询:
db.article.findOne({“username”:{$ regex:“。 yoga.for.beginners。”}});
现在告诉我在查询优化方面的区别如果我通过用 - {hyphen}
替换标题空格来存储seo_title案例1:yoga.for.beginners
db.article.findOne({"username" : {$regex : ".*yoga.for.beginners.*"}});
案例2:适合初学者的瑜伽
db.article.findOne({"username" : {$regex : ".*yoga-for-beginners.*"}});
哪一个更优化做上述事情的方式?
答案 0 :(得分:1)
Theres没有区别,但你应该逃避点
db.article.findOne({"username" : {$regex : ".*yoga\.for\.beginners.*"}});