2015-08-26 4 views
0

У меня есть приложение-узел, которое привязано к базе данных mongo и имеет маршрутизацию с помощью выражений и шаблонов, созданных Jade. Использование экспресс я получаю список всех пользователей с помощью следующей функции:Получить счетчик объекта Javascript в jade из mongoose/node data

/* GET users listing. */ 
router.get('/', function(req, res) { 

    User.find({}, function(err, users) { 
     var userMap = {}; 

     users.forEach(function(user){ 
      userMap[user._id] = user; 
     }); 

     res.render('page', { 
      users : userMap 
     }) 

    }); 
}); 

На мой взгляд, нефрит можно отобразить пользователей легко с помощью:

each user in users 
    li= user.username 

Но я также хочу, чтобы получить количество obj возвращается и отображает эти данные на странице. Я пробовал #{users.size} и {users.length}, а также несколько других вариантов безрезультатно. Я не уверен, что я делаю неправильно. Должен ли я добавить метод подсчета к модели?

ответ

1

ваша переменная users является объектом не является массивом попробовать

Object.keys(users).length 
+0

Я не уверен, я понимаю, где это нужно идти. Я пробовал несколько вещей, но никто не работал. – eignhpants

+0

Если я использую '# {users}' I get '[object Object]' где переменная вызывается в jade – eignhpants

+0

try # {Object.keys (users) .length} – trquoccuong

Смежные вопросы