MongoDB возвращает коллекции, соответствующие одному элементу в массиве запросов - PullRequest
0 голосов
/ 12 апреля 2020

Это коллекция базы данных - Задание:

{
  "skillsRequired": ["html", "css", "javascript"],
  "qualification": [ "BE", "B-Tech"],
  "company" : "microsoft"
},
{
  "skillsRequired": ["html", "ml", "ai", "python"],
  "qualification": [ "BE", "B-Tech"],
  "company" : "microsoft"
},
{
  "skillsRequired": ["ml", "ai", "python"],
  "qualification": [ "BE", "B-Tech"],
  "company" : "microsoft"
}

Как получить следующий вывод, если параметр "skillRequired": ["html", "css"]

[{
  "skillsRequired": ["html", "css", "javascript"],
  "qualification": [ "BE", "B-Tech"],
  "company" : "microsoft"
},
{
  "skillsRequired": ["html", "ml", "ai", "python"],
  "qualification": [ "BE", "B-Tech"],
  "company" : "microsoft"
}]

Короче говоря, запрос должен возвращать все записи / документы, в которых любой из элементов в запросе параметра совпадает с элементом документа.

1 Ответ

0 голосов
/ 12 апреля 2020
const query = {};

if (skillsRequiredParam && skillsRequiredParam.length > 0) 
    query.skillsRequired = {$in: skillsRequiredParam}
}     
const docs = await db.collection.find(query).exec();
...