MEAN - мангуст получает полный объект с помощью findById - PullRequest
0 голосов
/ 31 мая 2018

У меня тут небольшая проблема / путаница ... На самом деле я смог получить отдельную статью по их _id, используя findById(req.params.articleId)

мой запрос на получение

router.get('/:articleId', function (req, res, next) {

    var decoded = jwt.decode(req.query.token);
    Article.findById(req.params.articleId, 'keyskeys')
    .populate('user')
    .exec( function (err, article) {
        console.log('see out article too', article)
        // if the ID is not found or invalid, return err
        if (err) {
            return res.status(500).json({
                title: 'An error occured',
                error: err
            });
        }
        // if the article was not found anyways
        if (!article) {
            return res.status(500).json({
                title: 'Article not found',
                error: { message: 'Article was not found!' }
            });
        }
          return res.json({
                success: true,
                message: 'successful :id',
                article: article,
            });
    });
});

Почтальон возвращает 200 ok, но возвращаемые данные - это не только то, что я хотел, просто возвращение objectID, тогда как мне нужно, чтобы весь объект этого идентификатора работал с ...

I 'Я немного сбит с толку, погуглил, не могу на что-то попасть ...

почтальон возвращается

{
    "success": true,
    "message": "successful :id",
    "article": {
        "_id": "5b0af26a0321733524c64c91"
    }
}

он должен вернуть что-то вроде

{
        "_id" : ObjectId("5b0af26a0321733524c64c91"),
        "favoritesCount" : 33,
        "title" : "jfdkjkjgfkgfkll",
        "description" : "lkfgmfglkgfklgfk",
        "body" : "klmfl,,;lvk;lggpog,gf.,gf.gl.",
        "username" : "qqqq",
        "userId" : ObjectId("5b0af2500321733524c64c90"),
        "__v" : 0
}

любая помощь будет принята с благодарностью

1 Ответ

0 голосов
/ 31 мая 2018

findById - это удобный метод для модели, который предоставляется Mongoose для поиска документа по его _id.Документация для этого может быть найдена здесь.

Example:

// Search by ObjectId
var id = "56e6dd2eb4494ed008d595bd";
UserModel.findById(id, function (err, user) { ... } );

Функционально, это то же самое, что и вызов:

UserModel.findOne({_id: id}, function (err, user) { ... });

для получения дополнительной информации см. Эту ссылку Аналогичный вопрос

...