2014-05-13 10 views
12

Bu benim için 2.6.1'de oldu - Yani, bu hataya giren herkes, cevabı yazacağımı düşündüm.

Bu ilk komut iyi çalıştı, ancak ikincisi yoktu.

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

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

ve

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

cevap

13

aşağıdaki hatayı kustu Ben sadece yanlış yerde parantez vardı çıkıyor .. ve okumak.

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

db.col.find 'gibi, Mongo kabuk etrafında oynarken bir sorgu'() güncelleme 'içindir I {(') (bulmak 'gibi bir yöntemi çağırmak _stupidly_ hatalara Bu tür ayrıca gerçekleşmesi name:/something /}, {$ set: {name: 'başka bir şey'}}); // $ set setini find() kullanarak kullanamazsınız, sorguyu canonicalize edemezsiniz – aesede