Mongo find () возвращает [объект Object] в экспресс - PullRequest
0 голосов
/ 07 марта 2019

, так что в основном я пытаюсь получить доступ к коллекции страниц из header.ejs

app.use(function(req,res,next){
    res.locals.pages= Pages.find();
    next();
});

, но когда я пытаюсь получить доступ к нему из HTML, он отображает [объект объекта]

и когдая показываю его на console.log, он показывает много

createIndexes instead.
Query {
  _mongooseOptions: {},
  _transforms: [],
  _hooks: Kareem { _pres: Map {}, _posts: Map {} },
  _executionCount: 0,
  mongooseCollection: 
   NativeCollection {
     collection: Collection { s: [Object] },
     opts: 
      { bufferCommands: true,
        capped: false,
        '$wasForceClosed': undefined },
     name: 'pages',
     collectionName: 'pages',
     conn: ....................

как я могу получить доступ из HTML по массиву?

1 Ответ

1 голос
/ 07 марта 2019
  1. Pages.find() по умолчанию вернет курсор. Вы захотите использовать callback для обработки того, что вы нашли:
app.use(function(req, res, next) {
  Pages.find({}, (err, pages) => {
    if (err) return next(err);
    res.locales.pages = pages;
    return next();
  });
});
  1. Выезд Преобразование объекта в строку для получения информации о том, как преобразовать объект или массив в string. По умолчанию при преобразовании объекта в строку он будет читать [object Object] (это можно проверить, выполнив const a = {}; console.log({}.toString()))
...