Node.js Mongo仅以ISO_8601格式而不是unix格式存储日期
我试图以UNIX格式存储在集合中,但它每次都以ISO_8601格式存储。 下面是我的代码,请你快速浏览一下,告诉我哪里出错了Node.js Mongo仅以ISO_8601格式而不是unix格式存储日期,node.js,mongodb,unix,iso8601,Node.js,Mongodb,Unix,Iso8601,我试图以UNIX格式存储在集合中,但它每次都以ISO_8601格式存储。 下面是我的代码,请你快速浏览一下,告诉我哪里出错了 var date = Date.now(); var comments = new Comments({ item_id : req.params.item_id, content : req.body.content, created_at: date, updated_at : "", is_deleted : 0 });
var date = Date.now();
var comments = new Comments({
item_id : req.params.item_id,
content : req.body.content,
created_at: date,
updated_at : "",
is_deleted : 0
});
注释模式
var CommentsSchema = new Schema({
content: {type: String},
item_id: {type: Number},
created_at: {type: Date, default: Date.now},
updated_at: {type: Date, default: Date.now},
is_deleted: Number
});
但是当我console.log()
comments对象中的内容时,它以ISO_8601格式显示日期。我甚至试着用矩js
来做同样的事情,但都是徒劳的
MongooseV4.x将时间戳作为模式的内置选项
此选项添加带有
日期的时间戳的属性createdAt
和updatedAt
属性,这些属性为您完成所有工作。更新请求更新文档,它更新updatedAt属性
示例
var thingSchema = new Schema({..}, { timestamps: { createdAt: 'created_at' } });
var Thing = mongoose.model('Thing', thingSchema);
var thing = new Thing();
thing.save(); // `created_at` & `updatedAt` will be included
默认情况下,两个字段的名称为createdAt和updatedAt,通过设置timestaps.createdAt和timestaps.updatedAt自定义字段名称
有关更多详细信息,请参阅。如果要在数据库中存储时间戳,应在架构中使用type:Number
,而不是type:Date
否则,当从数据库读取数据时,Mongoose将自动将时间戳转换为适当的Date
实例(您仍然可以使用doc.created\u at.getTime()
)从中提取时间戳)。在mongodb中键入的是什么
var CommentsSchema = new Schema({
content: {type: String},
item_id: {type: Number},
is_deleted: Number
},{timestamps: true});
var thingSchema = new Schema({..}, { timestamps: { createdAt: 'created_at' } });
var Thing = mongoose.model('Thing', thingSchema);
var thing = new Thing();
thing.save(); // `created_at` & `updatedAt` will be included