У меня вопрос по MongoDB. У меня поиск в агрегации с $ match. Поиск должен проверять массив, если одно из значений соответствует значению массива внутри документов.
В качестве примера:
var stringList = 'general,online,offline'; //--> should check each value of this list
и два документа в качестве примера
{
"_id" : ObjectId("5e8f3a64ec717a0013d2f1f9"),
"category" : [
"general",
"online",
"internal",
"miscellaneous"
]},
{
"_id" : ObjectId("5e8f3afeec717a0013d2f1fa"),
"category" : [
"offline"
]
}
Я много пробовал, но не понял, как можно проверить каждое значение списка строк с каждым значением в массиве категорий. В моем примере должны быть показаны оба документа, но если я использую $ в строке, я не получаю никакого результата.
Я пробовал:
- Разделить список запятой и картой
- использование $ elemMatch
- использование, если $ in
- использование комбинации $ elemMatch и $ in
Надеюсь, я смогу объяснить свою проблему с помощью агрегирование.
Всем спасибо за помощь.