In mongodb I can do this :
db.getCollection('keywords').find(
{ $text: { $search: "I have headache" } },
{ score: { $meta: "textScore" } }
).sort( { score: { $meta: "textScore" } } )
result
{
"_id" : "ux2dpeYKQCQRgdbzB",
"keyword" : "Headache",
"createdAt" : ISODate("2020-02-10T01:45:07.670Z"),
"createdBy" : "a5oNybXwHKB8DkxdB",
"score" : 1.33333333333333
}
and I want do that in meteor :
Keywords.find(
{ $text: { $search: keyword } },
{ score: { $meta: "textScore" }, sort: { score: { $meta: "textScore" } } }
).fetch()
but it get error :
MongoError: must have $meta projection for all $meta sort keys
I tried like this without sort
Keywords.find(
{ $text: { $search: keyword } },
{ score: { $meta: "textScore" } }
).fetch()
but I dont get score
field in this document :
{
"_id" : "ux2dpeYKQCQRgdbzB",
"keyword" : "Headache",
"createdAt" : ISODate("2020-02-10T01:45:07.670Z"),
"createdBy" : "a5oNybXwHKB8DkxdB"
}
how to solve this text search in meteor and sort by score?
thanks