查找我的MongoDB查询有什么问题
我有一个饮料系列,我在其中输入如下数据:
db.smoothies.insert({
name: "Orange Banana",
ingredients: [], //list of ingredients
preparation: "Mix everything and have fun!",
Source: "Super Smoothies, p. 142"
})
我正在尝试按名称功能创建搜索,为了实现它,我根据文档创建了一个$text
索引:
https://docs.mongodb.com/manual/core/index-text/
所以我使用了以下内容:
db.smoothies.createIndex({name: 'text'})
现在,当我创建一个简单的find
查询时,它会起作用:
db.smoothies.find({ $text: { $search: "Orange" } })
但是当我尝试定义区分大小写时,它失败了:
db.smoothies.find( { $text: { $search: "orange", $caseSensitive: true } } )
我收到以下错误:
error: {
"$err" : "Can't canonicalize query: BadValue extra fields in $text",
"code" : 17287
}
我从文档中采用了这个例子,但我无法理解它失败的原因。有人可以帮我搞清楚吗?
答案 0 :(得分:2)