Я использую реагирующий нативный и mongoDB стежок. Я предполагаю, что когда я запускаю запрос с ключевым словом, результат должен быть отсортирован с наибольшим соответствием с ключевым словом,
Например, если я ищу Aqua, результат должен быть отсортирован как
- Аква
- Аква
- Акватика
- Экстракт акватики
- Аква-вода
- et c.
Я нашел документацию для этого (https://docs.mongodb.com/manual/reference/operator/projection/meta/)
db.collection.find(
<query>,
{ score: { $meta: "textScore" } }
).sort( { score: { $meta: "textScore" } } )
Но не могу найти, как написать этот код для стежка mongodb,
Я пробовал как
const query = {
name: {
$regex: searchKeyword,
$options: 'i',
//"$meta": "textScore"
},
score: { "$meta": "textScore" } // not sure where to put it , Saying unknown operator $meta
};
const options = {
"sort": { "score": { $meta: "textScore" }}
};
db.collection(itemNameDB).find( query, options).toArray()
.then(results => {
console.log(results)
})
Это сбой говорит «неизвестный оператор $ мета». Не нашел ни одного примера в документации по стежку mongdb.
Есть предложения?