0
直接在数据库中,我得到我的结果上使用此命令后MongoMapper - 全文检索
db.products.find({$text: {$search: "some product"}}, {score: {$meta: "textScore"}}).sort({score:{$meta:"textScore"}})
但在MongoMapper我得到的错误使用它。 没有得分字段的搜索不会产生任何错误
@products = Product.where(
'$text' => {'$search' => @search_string}
)
然而,当我尝试添加排序字段是从哪里获得的问题
@products = Product.where(
'$text' => {'$search' => @search_string}, :score => {'$meta' => "textScore"}
)
蒙戈:: OperationFailure在/搜索未知运营商:$ meta
它也无法使用原始查询方法
@products = MongoMapper.database['products'].find(
'$text' => {'$search' => @search_string}, :score => {'$meta' => "textScore"}
)
我试图运行完整查询
@products = Product.where(
'$text' => {'$search' => @search_string},:score => {'$meta' => "textScore"}
).sort(:score => {'$meta' => "textScore"}).limit(5)
这给了错误
蒙戈:: OperationFailure在/搜索必须有$元投影所有$元排序键
有没有人有我的错在哪里的建议?我认为我错了。
安装的版本。 mongo_mapper(0.14.0,0.13.1)