Javascript Mongodb“;Can';t规范化查询“;错误 客观的

Javascript Mongodb“;Can';t规范化查询“;错误 客观的,javascript,mongodb,Javascript,Mongodb,查找我的MongoDB查询有什么问题 背景 我有一个饮料收集,在其中输入如下数据: db.smoothies.insert({ name: "Orange Banana", ingredients: [], //list of ingredients preparation: "Mix everything and have fun!", Source: "Super Smoothies, p. 142" }) db.smoothies.createIn

查找我的MongoDB查询有什么问题

背景 我有一个饮料收集,在其中输入如下数据:

    db.smoothies.insert({
    name: "Orange Banana",
    ingredients: [], //list of ingredients
    preparation: "Mix everything and have fun!",
    Source: "Super Smoothies, p. 142"
})
db.smoothies.createIndex({name: 'text'})
我正在尝试创建按名称搜索功能,为了实现该功能,根据文档,我创建了一个
$text
索引:

因此,我使用了以下方法:

    db.smoothies.insert({
    name: "Orange Banana",
    ingredients: [], //list of ingredients
    preparation: "Mix everything and have fun!",
    Source: "Super Smoothies, p. 142"
})
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
}
问题:
我从文档中选取了这个例子,我不明白为什么它失败了。有人能帮我弄清楚吗?

您至少需要mongodb 3.2版才能使用此查询

请参阅文本索引的2.6文档:


您至少需要mongodb 3.2版才能使用此查询

请参阅文本索引的2.6文档:


我试图重现这一点,但没有出错。您使用的是哪个mongo版本?db version v2.6.12 git版本:d73c92b1c85703828b55c2916a5dd4ad46535f6aI尝试复制此版本,但没有出现错误。您使用的是哪个mongo版本?db版本v2.6.12 git版本:d73c92b1c85703828b55c2916a5dd4ad46535f6a