我一直在尝试将日期从javascript端保存为ISODate格式的MongoDB。但它只是以字符串格式保存MongoDB文档中的日期字段。
这是我发送到MongoDB的对象,要保存为给定集合中的文档。
var currentDate = new Date();
postData = {
deviceID: deviceID,
companyID: companyID,
userID: userID,
date: currentDate
};
一切正常,但日期字段只是以字符串格式保存。找不到任何可以为这个问题提供明确答案的问题,如果有问题,请指导我到正确的地方!
答案 0 :(得分:6)
我通过在我的Node JS API端处理它来解决这个问题。真正的问题是我已经将其作为字符串化的JSON对象发送到API。虽然它被设置为一个新的Date()对象,但它会被字符串化。
所以在我的Node JS API方面,在将它插入MongoDB集合之前,我已经完成了这个,
var data = req.body.postData;
var date = data[0].date;
var dateObject = new Date(date);
date[0].date = dateObject;
这就是诀窍!谢谢你的答案!
答案 1 :(得分:1)
你可以试试这个:
var currentDate = new Date();
postData = {
deviceID: deviceID,
companyID: companyID,
userID: userID,
date: currentDate.toISOString()
};
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString