我正在尝试将毫秒日期/时间保存为mongodb中的数字,并且它在mongo中一直显示为double
。如何在没有decimal
的情况下将其保存为数字?
router.route('/reminders')
.post(function (req, res) {
var reminder = new Reminder();
reminder.datetime = req.body.datetime;
console.log(typeof req.body.datetime) // gives the right datetime milliseconds
reminder.save(function (err) {
if (err) {
res.send(err);
}
res.json({message: 'Reminder Created!'});
})
})
答案 0 :(得分:0)
您可以使用验证或设置功能。验证可以在这里看到:http://mongoosejs.com/docs/validation.html您可以在其中指定正则表达式。如果要舍入小数,使用setter函数也会很好。看看这篇文章https://groups.google.com/forum/#!topic/mongoose-orm/f437FCPsVLY
答案 1 :(得分:0)
正如您所见,Mongoose默认将大整数值存储为双精度数。要将它们存储为64位整数,您需要使用mongoose-long
插件。
var mongoose = require('mongoose');
require('mongoose-long')(mongoose);
var SchemaTypes = mongoose.Schema.Types;
var reminderSchema = new Schema({
...
datetime: SchemaTypes.Long
});