这种情况发生在我的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}
find()
的方法,而查询本意是为了update()
,例如db.col.find({name:/something/},{$set: { name: 'something else'}}); // you can't use $set in find(), can't canonicalize query
。 - aesedeError: Line 2: Unexpected token {
。 - Robert Williams