Блоги find () по категориям в пн goose не работают с NodeJs - PullRequest
0 голосов
/ 14 февраля 2020

Я делаю приложение блога с базой данных mongodb, используя mon goose framework, nodeJs с express и angular на передней панели. Сейчас я пытаюсь создать компонент, из которого выбираются все категории блогов из схемы категорий, а затем по щелчку на них должны появиться все блоги в схеме блогов, имеющие этот categoryId в своем поле категории. При проверке db как db.blogs.find ({'categoryId': 'TRxtZfez'}) все блоги, имеющие этот конкретный categoryId, хорошо отображаются. Но при проверке функции контроллера узла result.categoryId извлекает неопределенную

Функция узла:

app.get(baseUrl+'view/by/category/:categoryId', (req, res) => {
    BlogModel.find({ 'categoryId': req.params.categoryId }, (err, result) => {    
        if (err) {console.log(err)
            let apiResponse = response.generate(true, 'Failed to find category details', 500, null)
            res.send(apiResponse)
        } else if (result == undefined || result == null || result == '') {
            console.log('No Blog Found')
            let apiResponse = response.generate(true, 'No such category Found', 404, null)
            res.send(apiResponse)
        } else { let apiResponse = response.generate(false, 'All Blogs with category :: found Successfully', 200, result)
            console.log('BBB'+result.categoryId)  //getting undefined
            res.send(apiResponse)}})})

Как выглядит база данных моего блога:

    {
        "error": false,
        "message": "All Blogs found Successfully",
        "status": 200,
        "data": [
            {
                "title": "MongoDB",
                "description": "MongoDB is a cross-platform document-oriented database program.",
                "imagePath": "uploads\\1581692172205slider2.png",
                "blogId": "K0llE03j",
                "categoryName": "Technology",
                "categoryId": "TRxtZfez"
            },
            {
                "title": "NodeJs",
                "imagePath": "uploads\\1581692310094shutterstock_339911378-350x350[1].jpg",
                "blogId": "zHi_CUpN",
                "categoryName": "Technology",
                "categoryId": "TRxtZfez"
            },
            {
                "title": "Angular",
                "description": "Angular is a platform for building mobile and desktop web applications.",
                "imagePath": "uploads\\1581692361330mp,550x550,gloss,ffffff,t.3u1[1].jpg",
                "blogId": "ft4w9LVY",
                "categoryName": "Technology",
                "categoryId": "TRxtZfez"
            }

Категория База данных:

            "categoryName": "Sports",
            "categoryId": "rtBg1LCZ"
        },
        {
            "categoryName": "Movies",
            "categoryId": "zihrNEOP"
        },
        {
            "categoryName": "Technology",
            "categoryId": "TRxtZfez"
        }

1 Ответ

0 голосов
/ 14 февраля 2020

Если вы получаете результат, чтобы получить доступ к categoryId, вы должны сделать:

result.data[0].categoryId 
//this will give you first object in the array.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...