Cette commande directement sur la base de données que je reçois les résultats que je suis aprèsMongoMapper - Texte complet Recherche
db.products.find({$text: {$search: "some product"}}, {score: {$meta: "textScore"}}).sort({score:{$meta:"textScore"}})
Mais l'utiliser dans MongoMapper Je reçois des erreurs. La recherche sans le champ de score ne produit aucune erreur
@products = Product.where(
'$text' => {'$search' => @search_string}
)
Cependant, lorsque je tente d'ajouter le champ de tri est où je reçois des questions
@products = Product.where(
'$text' => {'$search' => @search_string}, :score => {'$meta' => "textScore"}
)
Mongo :: OperationFailure à/recherche opérateur inconnu: $ méta
Il échoue également en utilisant la méthode de requête brute
@products = MongoMapper.database['products'].find(
'$text' => {'$search' => @search_string}, :score => {'$meta' => "textScore"}
)
La requête complète Je suis en train de courir est
@products = Product.where(
'$text' => {'$search' => @search_string},:score => {'$meta' => "textScore"}
).sort(:score => {'$meta' => "textScore"}).limit(5)
Cela donne l'erreur
Mongo :: OperationFailure à/recherche doit avoir $ projection méta pour toutes les clés de tri meta $
Est-ce que quelqu'un a des suggestions d'où je vais mal? Je suppose que je l'utilise mal.
Version installée. mongo_mapper (0.14.0, 0.13.1)