#javascript #filter
Вопрос:
Я хочу отфильтровать документы, которые удовлетворяют
(заголовок = поисковое слово ИЛИ содержание = поисковое слово) И (категория = категория ИЛИ категория = категория).
И я хочу объединить два утверждения ИЛИ, которые являются вариантами 1 и 2 ниже, и я пытался это сделать, но это не работает! Пожалуйста, помогите мне это исправить.
Я хочу сохранить форму варианта 1 и варианта 2 и объединить два утверждения ИЛИ с И .
//option 1
query.$or = [{ title: searchWord }, { content: searchWord }];
//option 2
query.$or = [{ category: category }, { category: category }];
//It doesn't work!!
query.$and = [{$or : [{ title: searchWord }, { content: searchWord }]},
{$or : [{ category: category }, { category: category }]}];
Ответ №1:
Это запрос mongodb, который может быть вам полезен. Он использует неявное и. Обязательно замените имя своей коллекции.
db.collectionName.find({
$or : [
{"title": searchWord},
{"content": searchWord}
],
"category": category
})
Комментарии:
1. Я решил эту проблему. Спасибо!