javascript - 我找不到我想要的 $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"}})
推荐阅读
- android - 如何从异步任务中的“onPostExecute”中删除事件监听器
- ios - 保存数据后。然后弹出视图控制器
- mongodb - 如何根据条件将数据框插入/更新到 Mongodb
- sas - 如何从库中的所有表中提取一些信息?
- mysql - 根据其他 2 张桌子返回可用房间
- java - 尝试在空对象引用 onCreateView(Fragment.java) 上调用虚拟方法 RecyclerView
- javascript - 无法通过节点休息应用程序上的猫鼬连接到 mongodb-altas,连接失败:“UnhandledPromiseRejectionWarning:错误:连接 EACCES”
- java - 从 ImageView 而不是 Drawable 获取图像
- php - 如何理解 DLE 中的路径?
- excel - userform如何中断vba中宏的执行