这发生在我的2.6.1 -所以,万一有人徘徊到这个错误,我想我应该写出来的答案。
第一个命令运行正常,但第二个命令不行。
db.test.find({$text: {$search: 'york'}} )
db.test.find({$text: {$search: 'york'}, score: {$meta: 'textScore'}} )
并在
下面抛出错误{"$err": "Can't canonicalize query: BadValue unknown operator: $meta", "code": 17287}
原来我只是把括号放错了地方。应该是这样的。
//This works
db.test.find(
{ $text: { $search: 'york' } },
{ score: { $meta: 'textScore' } }
);