Задать вопрос
@uroot

Как найти и вернуть записи в Mongodb?

Как в Mongodb сделать поиск по коллекции по некоторым полям, а найденные результаты вернуть?

Я пробую так:
await Post.find({}).select({ "title": "статьи","text": "статьи"});


Но возвращается такой результат:
61e327dc42d90853749672.png
А я бы хотел, чтобы коллекции с искомым словом вернулись полностью. Как это сделать использую mongoose?
  • Вопрос задан
  • 360 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
nowm
@nowm
Вот это должно быть параметром метода find: { "title": "статьи","text": "статьи"}. Но у вас в качестве критерия для запроса указан пустой объект (это значит, что выберутся все документы из коллекции), а в select указан дополнительный объект, который говорит, что нужно из результатов брать поля _id, title и text.

Метод select в Mongoose, кстати, используется немного не так. Когда вы передаёте в него в качестве параметра объект, нужно значениям указывать либо 1 (поле включено в результат), либо 0 (поле не включается в результат). Если вы передаёте непустую строку в качестве значения, она воспринимается как 1, но это будет искажать ваше понимание того, что происходит. Select — это только указание, какие поля должны быть в результате, этот метод вообще никак не влияет на условие выборки документов из коллекции. Условия выборки указываются в find.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
meowto16
@meowto16
Делаю штуки
Комментировать
Ваш ответ на вопрос

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

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