我的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的新手。谢谢您的所有帮助...
答案 0 :(得分:0)
您的索引需要同时包含两个字段:
createIndex({ 'user_name' : 'text', 'boxes.box_name': 'text' })
您之所以会获得IndexOptionsConflict
是因为在该集合上您已经有一个text
索引,并且您不能再拥有一个。完成上述索引后,这两个应会起作用:
db.users.find({$text: {$search: "John"}})
db.users.find({$text: {$search: "Box"}})