2014-05-13 12 views
12

Questo mi è successo in 2.6.1 - Quindi, nel caso in cui qualcuno si aggiri in questo errore, ho pensato di scrivere la risposta.

Questo primo comando ha funzionato bene, ma il secondo non ha funzionato.

db.test.find({$text: {$search: 'york'}}) 

db.test.find({$text: {$search: 'york'}, score: {$meta: 'textScore'}}) 

e vomitò l'errore sotto

{"$err": "Can't canonicalize query: BadValue unknown operator: $meta", "code": 17287} 

risposta

13

Risulta Ho appena avuto le staffe nel posto sbagliato .. e avrebbe dovuto leggere.

//This works 
db.test.find({ 
    {$text: {$search: 'york'}}, {score: {'$meta': "textScore"}} 
}); 
+2

Questo tipo di errori accadere anche quando _stupidly_ chiamo un metodo come 'find()' con una query significato per 'update()' quando si gioca intorno a mongo shell, come 'db.col.find ({ nome:/qualcosa /}, {$ set: {nome: 'qualcos'altro'}}); // non puoi usare $ set in find(), can not canicalical query » – aesede