我的控制器中有以下代码,从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 });
}
});
}
Run Code Online (Sandbox Code Playgroud)
我认为我会执行以下操作:
extends ../layout
block content
.container
p #{lists}
Run Code Online (Sandbox Code Playgroud)
呈现:[object Object],[object Object]
如果我做 p= JSON.stringify(lists)
它呈现:
[{"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"}]
Run Code Online (Sandbox Code Playgroud)
我正在努力实现:
#lists
each list in lists
p #{list}
Run Code Online (Sandbox Code Playgroud)
但是我得到这个错误:
Cannot read property 'length' of undefined
我正在使用Sails和Jade 1.7.0
我创建了一个名为AppService的服务.它的函数getUserPostionOptions应该返回一个对象:
getUserPostionOptions: function (user) {
// PositionOptions.findOne({id:'53f218deed17760200778cfe'}).exec(function (err, positionOptions) {
var positionDirectionsOptions = [1,2,3];
var positionLengthsOptions = [4,5,6];
var object = {
directions:positionDirectionsOptions,
lengths:positionLengthsOptions
};
return object;
// });
}
Run Code Online (Sandbox Code Playgroud)
这工作,在我的控制器positionOptions正确填充:
var positionOptions = AppService.getUserPostionOptions(user);
Run Code Online (Sandbox Code Playgroud)
但是,当我取消注释查找查询时,找到该项,但该对象返回undefined.
提前感谢您的帮助