Невозможно получить доступ к записи коллекции монго, используя monk в node.js

Я пытаюсь получить доступ к данным, возвращаемым методом find в monk, используя:

var collection = db.get('Workflow');
collection.find({},{},function(e,workflow){
    console.log(workflow);
    var req0 = workflow[0];  //Error here
    console.log(req0);
    console.log(req0, req.body.accountType);
});

Первый console.log (рабочий процесс) возвращает мне всю запись правильно, которая выглядит как массив json. Тем не менее, когда я пытаюсь получить доступ, это дает мне следующую ошибку:

TypeError: Cannot read property '0' of undefined
at Promise.<anonymous> (C:\Users\abchauhan\Desktop\Work\NodeLearning\HelloNode\routes\index.js:68:38)
at Promise.<anonymous> (C:\Users\abchauhan\Desktop\Work\NodeLearning\HelloNode\node_modules\monk\node_modules\mpromise\lib\promise.js:178:8)
at Promise.emit (events.js:117:20)
at Promise.emit (C:\Users\abchauhan\Desktop\Work\NodeLearning\HelloNode\node_modules\monk\node_modules\mpromise\lib\promise.js:84:38)
at Promise.fulfill (C:\Users\abchauhan\Desktop\Work\NodeLearning\HelloNode\node_modules\monk\node_modules\mpromise\lib\promise.js:97:20)
at Promise.resolve (C:\Users\abchauhan\Desktop\Work\NodeLearning\HelloNode\node_modules\monk\node_modules\mpromise\lib\promise.js:126:15)
at C:\Users\abchauhan\Desktop\Work\NodeLearning\HelloNode\node_modules\monk\node_modules\mongoskin\node_modules\mongodb\lib\mongodb\cursor.js:163:16
at commandHandler (C:\Users\abchauhan\Desktop\Work\NodeLearning\HelloNode\node_modules\monk\node_modules\mongoskin\node_modules\mongodb\lib\mongodb\cursor.js:709:16)
at C:\Users\abchauhan\Desktop\Work\NodeLearning\HelloNode\node_modules\monk\node_modules\mongoskin\node_modules\mongodb\lib\mongodb\db.js:1846:9
at Server.Base._callHandler (C:\Users\abchauhan\Desktop\Work\NodeLearning\HelloNode\node_modules\monk\node_modules\mongoskin\node_modules\mongodb\lib\mongodb\connection\base.js:445:41)

1 ответ

Потому что он не возвращает массив. Если вам нужна только первая запись, почему бы не попробовать "предел"

var collection = db.get('Workflow');
collection.find({},{'limit':1},function(e,workflow){
    console.log(workflow);
    var req0 = workflow;
    console.log(req0);
});
Другие вопросы по тегам