mongodb не может использовать $ и со строкой - PullRequest
0 голосов
/ 17 октября 2018

Я не специалист по mongodb, поэтому я решаю проблему поиска с помощью регулярных выражений.

Мой документ с именем Post структурирован так:

{
  _id : String,
  keywords : [{
    timesFound : Number,
    keyword : String
  }]
}

В качестве ввода у меня есть массивпотенциальных ключевых слов, например: ["apple", "orange"].Как я могу найти все документы, которые соответствуют / apple / i AND / orange / i?

Я пробовал запрос, подобный этому:

{"keywords.keyword" : $and: [{$regex: /apple/i}, {$regex: /orange/i}]}}

, но получил эту ошибку "Не могу использовать$ and with String. "

У вас есть идеи?Спасибо !!

1 Ответ

0 голосов
/ 17 октября 2018

$ и должны быть операторами верхнего уровня, попробуйте:

Post.find({ $and: [ { "keywords.keyword": {$regex: /apple/i} }, { "keywords.keyword": {$regex: /orange/i} } ] })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...