欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mongodb通配符文本索引的用法詳解

 更新時間:2024年07月26日 15:13:37   作者:威贊  
通配符索引為Mongodb靈活的數據結構,提供了高效查詢的解決方案,本文繼續(xù)研究官方文檔,來歸納總結通配符文本索引的介紹和用法,感興趣的朋友跟隨小編一起看看吧

學習mongodb,體會mongodb的每一個使用細節(jié),歡迎閱讀威贊的文章。這是威贊發(fā)布的第99篇mongodb技術文章,歡迎瀏覽本專欄威贊發(fā)布的其他文章。如果您認為我的文章對您有幫助或者解決您的問題,歡迎在文章下面點個贊,或者關注威贊。謝謝。威贊文章都是結合官方文檔,翻譯整理而來,并對每個知識點的描述都認真思考和實踐,對難以理解的地方,使用簡單容易理解的方式進行闡述。

通配符索引為Mongodb靈活的數據結構,提供了高效查詢的解決方案。但Mongodb文檔中明確的提出來,通配符索引和通配符文本索引,是兩個完全不同的索引。那通配符文本索引到底是什么樣的方式來運作,本文繼續(xù)研究官方文檔,來歸納總結通配符文本索引的介紹和用法。

概述

用戶可以為集合中多個文本字段創(chuàng)建一個文本索引。這種集合多個字段的索引,就是通配符文本索引。通配符文本索引支持未知字段,可變字段和動態(tài)生成字段的文本查詢。

使用通配標識符$**和索引類型text來構建通配符文本索引。

db.<collection>.createIndex({"$**": "text"})

通配符索引和通配符文本索引,是不同的索引。通配符文本索引支持使用$text操作符的查詢, 而通配符索引不支持使用該操作符查詢。

當用戶在集合中添加通配符文本索引后,向集合中插入數據或者數據更新時,在通配符文本索引中的數據都會更新。因此,通配符文本索引對數據插入和更新有負面的影響。Mongodb建議,僅在字段不確定或未來字段可能發(fā)生變化時,使用通配符文本索引。通配符文本索引于其他索引的工作方式不一致。當集合中包含了過多隨意的字段導致創(chuàng)建索引困難時,要考慮重新定義數據的結構。

應用

創(chuàng)建blog集合并插入數據

db.blog.insertMany([
  {
    "_id": 1,
    "content": "This is a blog post about MongoDB",
    "about": "MongoDB",
    "keywords": [
      "MongoDB",
      "database",
      "NoSQL"
    ]
  },
  {
    "_id": 2,
    "content": "This is a blog post about MongoDB and Python",
    "about": "MongoDB",
    "keywords": [
      "MongoDB",
      "Python"
    ]
  },
  {
    "_id": 3,
    "content": "This is a blog post about NoSQL databases",
    "about": "NoSQL",
    "keywords": [
      "NoSQL",
      "database"
    ]
  }
])

構建通配符文本索引

db.blog.createIndex({"$**": "text"})

使用通配符索引查詢

db.blog.find({$text: {$search: "MongoDB"}})

查看執(zhí)行計劃

匹配多個字符串

db.blog.find({$text: {$search: "MongoDB NoSQL"}})

到此這篇關于Mongodb通配符文本索引的文章就介紹到這了,更多相關Mongodb通配符內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論