Коллекция MongoDB создать индекс не работает - PullRequest
0 голосов
/ 19 сентября 2019

Я хочу реализовать простую поисковую систему в моем приложении, и вот API, который я сделал:

global.db.collection("pages").createIndex({"datas.content":"text"});
global.db.collection("pages").find({$text: {$search: req.body.query}}, {score: {$meta: "textScore"}}).sort({score:{$meta:"textScore"}}).toArray(function(err, result) {
  res.json(result);
});

А вот моя структура документа:

{
    "_id" : ObjectId("5cd176aee5b87c095cfa30ba"),
    "code" : "af34e870-70c1-11e9-9ba8-eb8f4152101a",
    "datas" : {
        "content" : "Donec ante sapien, gravida id risus eget,"
    },
    "tags" : null
}

Но когда я вызываюapi В результате я всегда получаю null, я что-то не так делаю?

Спасибо

1 Ответ

0 голосов
/ 19 сентября 2019

Ваш код не имеет проблем для Полнотекстового поиска в MongoDB

Но остается только сомнительная информация, поступающая в API.Надеюсь, что ваш запрос POST и внутри него ключ с именем query.Но если ваш запрос GET, вы должны использовать {$search: req.query}}, и вы должны проверить, что данные, поступающие со стороны клиента, в порядке!

ИЛИ в res.json(result) результат не JSON.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...