lavezzi1
@lavezzi1

Как построить query url чтобы вытянуть данные с несколькими значениями в mongoose?

Есть такой набор query:
{
  category: 'motherboard',
  'details.socket': 'lga1151v2',
  'details.chipsets': 'z370,z390'
}


Работает все кроме последнего. Как правильно вытягивать данные с несколькими значениями для одного filed? В моем случае details: { chipsets: [] } этот массив в базе.

Код роута:
app.get('/products/', async (req, res) => {
  try {
    if (req.query.category) {
      const category = await categoryModel.findOne({ name: req.query.category });
      const products = await productModel.find({ ...req.query, category });
      return res.status(200).json({ products });
    }
    const products = await productModel.find();
    return res.status(200).json({ products });
  } catch (error) {
    console.error(error);
    res.status(500).json({ message: 'Something goes wrong!' });
  }
});
  • Вопрос задан
  • 56 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Che603000
c 2011 javascript
Поиск в массивах
https://docs.mongodb.com/manual/tutorial/query-arrays/

В вашем случае скорее всего
productModel.find({‘details.chipsets’ : {$all:[‘z370’, ‘z390’ ]}});
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы