我的应用程序在Node,MongoDB和Handlebars上运行。我试图从MongoDB timeCreated: { type: Date, default: Date.now }
字段获取用户注册并更改其格式。它是一个日期类型字段,因此javascript方法可能适用,但我收到错误。
我有几个查询,我把它放入数组
'use strict';
exports.init = function(req, res, next){
var outcome = [];
var getRegistration = function (callback) {
req.app.db.models.User.find({ _id: { $eq: req.user.id } }, {_id: 0, timeCreated: 1})
.exec(function (err, user) {
if (err) {
return callback(err, null);
}
outcome.user = user;
return callback(null, 'done');
});
};
/* more queries */
var asyncFinally = function(err, results) {
if (err) {
return next(err);
}
res.render('adminpanel/account/index', {
account: outcome.account,
accountGroups : outcome.accountGroups,
adminGroups : outcome.adminGroups,
user : outcome.user
});
};
require('async').parallel(
[/* other queries */ getRegistration], asyncFinally
);
};
然后使用each
帮助
{{#each user}}
<div class="panel panel-default">
<div class="panel-heading"><i class="fa fa-plus-square" aria-hidden="true"></i> Joined</div>
<div class="panel-body"> {{this.timeCreated}} </a></div>
</div>
{{/each}}
这样做没问题,但是当我尝试在toDateString
查询中应用outcome.user = user.toDateString();
时,我得到了
TypeError: user.toDateString is not a function
我得到的不是字符串,当我尝试使用substr
而没有将其转换为字符串时,会出现类似的错误。
我究竟做错了什么?感谢。