簡體   English   中英

我找不到我想要的$ search $ text MongoDB

[英]I can't find what I want with $search $text MongoDB

我的json:

   {
  user_id: "131231",
  user_name: "John",
  boxes:[
    {
      box_name: "Box 1"
    },
    {
      box_name: "Box 2"
    }
  ]
}

我正在嘗試使用此查詢查找框1:

db.users.find({$text: {$search: "Box"}})

但是mongo找不到任何東西,盡管可以找到user_name

db.users.find({$text: {$search: "John"}})

我試圖創建createIndex 我是MongoDB的新手。 謝謝您的幫助...

您的索引需要包括兩個字段:

createIndex({ 'user_name' : 'text', 'boxes.box_name': 'text' })

您之所以會收到IndexOptionsConflict是因為在該集合上您已經有一個text索引,並且不能再有一個。 完成上述索引后,這兩個應該會起作用:

db.users.find({$text: {$search: "John"}})
db.users.find({$text: {$search: "Box"}})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM