MongoDB字符串搜索

时间:2014-01-18 14:32:30

标签: regex mongodb

我有一个名为:article的集合 当前用户集合具有以下属性:

  1. 标题
  2. 描述
  3. 标记
  4. seo_tile
  5. 让我们先考虑一个文件

      {
       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.*"}});
    

    哪一个更优化做上述事情的方式?

1 个答案:

答案 0 :(得分:1)

Theres没有区别,但你应该逃避点

db.article.findOne({"username" : {$regex : ".*yoga\.for\.beginners.*"}});