Node.js Jade无法读取属性';长度';每个循环中未定义的

Node.js Jade无法读取属性';长度';每个循环中未定义的,node.js,pug,Node.js,Pug,我的控制器中有以下代码:从mongo检索对象并将其发送到客户端: index: function(req, res){ List.find({user:req.session.user.id}).exec(function foundLists(error, foundLists) { if(error) { return res.json({error:error}); } else { return r

我的控制器中有以下代码:从mongo检索对象并将其发送到客户端:

 index: function(req, res){
    List.find({user:req.session.user.id}).exec(function foundLists(error, foundLists) {
        if(error) {
            return res.json({error:error});
        } else {
            return res.view({ title:'Lists',lists:foundLists });
        }
    });
 }
在我看来,我做到了以下几点:

extends ../layout
  block content
    .container
        p #{lists}
它呈现:
[object object],[object object]

如果我执行
p=JSON.stringify(列表)

它提出:

[{"user":"546109c0d640523d1b838a32","name":"third","createdAt":"2014-11-11T19:39:36.966Z","updatedAt":"2014-11-11T19:39:36.966Z","id":"546265f83e856b642e3b3fed"},{"user":"546109c0d640523d1b838a32","name":"forth","createdAt":"2014-11-11T19:42:09.268Z","updatedAt":"2014-11-11T19:42:09.268Z","id":"546266913e856b642e3b3fef"}]
我正在努力实现:

#lists
    each list in lists
       p #{list}
但我得到了这个错误:
无法读取未定义的属性“length”


我使用的是Sails and Jade 1.7.0

您有一个对象数组,因此如果您使用列表中的每个列表,则列表就是一个对象。我想杰德需要一根绳子。如果你把
p#{list.name}
或类似的东西放进去,应该可以用

如果想显示所有内容,可以尝试嵌套循环,如

each list in lists
    each item in list
        p #{item}

当列表中至少有一个项目没有
列表
属性时,可能会发生此错误。可以使用if语句对此进行保护:

each val in lists
    if val.list
        each item in val
            p #{item}
我也快疯了:(