【发布时间】:2022-01-10 21:43:14
【问题描述】:
我有以下收藏:
books> db.books.find()
[
{
_id: ObjectId("61ab85b0056b5357b5e23e6b"),
fields: 'hello good morning'
},
{ _id: ObjectId("61ab85b5056b5357b5e23e6c"), fields: 'good morning' },
{
_id: ObjectId("61ab8679056b5357b5e23e6d"),
fields: 'hello good morning guys'
},
{
_id: ObjectId("61ab8684056b5357b5e23e6e"),
fields: 'good morning guys'
}
]
然后,我运行这个查询:
db.books.find({$text : {$search : "\"good morning\" hello"}})
我得到:
[
{ _id: ObjectId("61ab85b5056b5357b5e23e6c"), fields: 'good morning' },
{
_id: ObjectId("61ab8684056b5357b5e23e6e"),
fields: 'good morning guys'
},
{
_id: ObjectId("61ab85b0056b5357b5e23e6b"),
fields: 'hello good morning'
},
{
_id: ObjectId("61ab8679056b5357b5e23e6d"),
fields: 'hello good morning guys'
}
]
你能帮我理解输出吗?第一个结果对我来说没有多大意义(文档_id:...23e6c),因为它不包含“hello”字符串。
我read第一个回答这个问题。这是否意味着,就我而言,mongodb 正在搜索
(good morning) AND (good OR morning OR hello)
这可以解释我的问题,但我在 mongodb documentation 中找不到对此的确切参考
提前致谢
【问题讨论】:
标签: mongodb text-search