Node.js nodejs正在会话中将日期对象追加到用户

Node.js nodejs正在会话中将日期对象追加到用户,node.js,date,session,attributes,Node.js,Date,Session,Attributes,我已经用express、sessions、mongoose等设置了NodeJ。登录和导航都很好,现在我只想向用户添加附加信息,特别是日期对象 以下是我尝试这样做的方式: var user = req.body.user; if(user) { if(!user.viewdate) user.viewdate = new Date(); } 注意-我删除了很多代码以突出当前的问题 现在出于某种原因,当我这样做时,Nodejs告诉我,user.viewdate实际上是一个字

我已经用express、sessions、mongoose等设置了NodeJ。登录和导航都很好,现在我只想向用户添加附加信息,特别是日期对象

以下是我尝试这样做的方式:

var user = req.body.user;
if(user) {
    if(!user.viewdate)
        user.viewdate = new Date();
}
注意-我删除了很多代码以突出当前的问题

现在出于某种原因,当我这样做时,Nodejs告诉我,
user.viewdate
实际上是一个字符串,而不是一个日期对象,这意味着我不能访问任何日期函数

console.log(typeof(user.viewdate) + ", " + user.viewdate);
// prints: string, 2017-05-23T13:37:57.672Z

user.viewdate.getDate();
// TypeError: user.viewdate.getDate is not a function
实际上,我已经解决了这个问题,将字符串转换为日期对象,对其进行编辑,然后再次将其转换为字符串

var date = new Date(user.viewdate);
date.setDate(date.getDate() + 1);
user.viewdate = date;
但是,当我只能访问实际日期时,所有这些转换似乎都是乏味和不必要的


有人能告诉我,如果可以在会话中为用户保存日期属性吗?

试试Date.parse(字符串)就像我说的,将字符串转换为日期/将日期转换为字符串不是问题。我只是想知道为什么不能直接保存date对象。