无法对MongoDB日期字段进行字符串化

时间:2017-07-01 02:00:21

标签: javascript mongodb mongoose

我的应用程序在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>&nbsp;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而没有将其转换为字符串时,会出现类似的错误。 我究竟做错了什么?感谢。

0 个答案:

没有答案