dpablo_escobarr
@dpablo_escobarr

Как сформировать запрос к mongoDB с помощью mongoose?

Нужно уже к имеющемуся выводу, добавить поле - countViews: Number , Где будет содержаться количество записей из дочернего массива views. Хочу это реализовать без создания в базе дополнительного поля для этой цели.

Хочу вместо такого вывода из бд:
[{
    "created": 1611739142028,
    "author": "name",
    "tages": "asd asd",
    "url": "urlexample",
    "views": ["vasya", "petya"],
    "likes": 0,
    "comments": 0,
    "moderate": true,
    "timeToRead": 2.9,
    "__v": 0
},
{
    "created": 1611739142028,
    "author": "name",
    "tages": "asd asd",
    "url": "urlexample",
    "views": ["vasya", "petya"],
    "likes": 0,
    "comments": 0,
    "moderate": true,
    "timeToRead": 2.9,
    "__v": 0
}]

получить вот это:

[{
    "created": 1611739142028,
    "author": "name",
    "tages": "asd asd",
    "url": "urlexample",
    "views": ["vasya", "petya"],
    "countViews": 2,
    "likes": 0,
    "comments": 0,
    "moderate": true,
    "timeToRead": 2.9,
    "__v": 0
},
{
    "created": 1611739142028,
    "author": "name",
    "tages": "asd asd",
    "url": "urlexample",
    "views": ["vasya", "petya"],
    "countViews": 2,
    "likes": 0,
    "comments": 0,
    "moderate": true,
    "timeToRead": 2.9,
    "__v": 0
}]
  • Вопрос задан
  • 47 просмотров
Решения вопроса 1
https://docs.mongodb.com/manual/reference/operator...

Ну или просто после получения документов из базы пробежаться по массиву

return docs.map((doc) => {
  doc.countViews =  doc.views.length;
  return doc;
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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