Как проверить с помощью нескольких полей и проверить регистр в mongodb

#node.js #mongodb

Вопрос:

У меня есть listOfintrests = ["T-shirts","Jeans","Trousers","watches"] то, что я ищу в коллекции курсов, но я получаю сообщение об ошибке

Cast to string failed for value "{ '$regex': /^T-shirts,Jeans,Trousers,watches$/, '$options': 'i' }" (type Object) at path "category" for model "course"

 const isCourse = await Courses.find({ category : {$in : { $regex: new RegExp(`^${listOfintrests}
 #node.js #mongodb



Вопрос:

У меня есть listOfintrests = ["T-shirts","Jeans","Trousers","watches"] то, что я ищу в коллекции курсов, но я получаю сообщение об ошибке Cast to string failed for value "{ '$regex': /^T-shirts,Jeans,Trousers,watches$/, '$options': 'i' }" (type Object) at path "category" for model "course" ), $options: 'i' }} });

Что я здесь делаю не так? Пожалуйста, помогите мне, заранее спасибо.

это коллекция курсов:-

введите описание изображения здесь

Ответ №1:

Вам нужно объединить элементы массива с помощью регулярного | выражения или оператора

 const isCourse = await Courses.find({ category : new RegExp(listOfintrests.join('|'), 'i') }