我想知道有没有办法使用momentjs
捕获当前时间的毫秒数我正在运作的场景是存储用户聊天消息,想要捕获发送消息的时间,目前我不知道该怎么做
我正在使用mongodb和nodejs Mongoose架构如下所示
var mongoose = require('mongoose');
var uniqueValidator = require('mongoose-unique-validator');
var moment = require('moment');
Schema = mongoose.Schema;
// https://www.npmjs.com/package/mongoose-unique-validator
var categorySchema = new mongoose.Schema(
{
CatId: { type: Number, required: true, unique: true },
Name: { type: String, required: true, unique: true },
Description: String,
Is_Active: Number,
Db_Created_TimeStamp: { type: Date, default: moment().format('YYYY-MM-DD h:mm:ss a') },
Db_Updated_TimeStamp: { type: Date, default: moment().format('YYYY-MM-DD h:mm:ss a') },
}, { collection: "Categories" })
categorySchema.plugin(uniqueValidator);
mongoose.model('Categories', categorySchema);
当我在数据库中保存条目时如下所示
{
"_id" : ObjectId("5a13fddf620d8e4ba85e476c"),
"Is_Active" : NumberInt(1),
"Description" : "spsss00ort",
"Name" : "ssss",
"CatId" : NumberInt(103),
"Db_Updated_TimeStamp" : ISODate("2017-11-21T10:19:37.000+0000"),
"Db_Created_TimeStamp" : ISODate("2017-11-21T10:19:37.000+0000"),
"__v" : NumberInt(0)
}
寻找一种方法来捕获条目的毫秒数
答案 0 :(得分:0)
如果要存储时间戳,只需将架构更改为
即可 Db_Created_TimeStamp:{type:Number,default: moment.utc().valueOf()},
Db_Updated_TimeStamp:{type:Number,default: moment.utc().valueOf()},
这将为你的db
存储utc毫秒答案 1 :(得分:0)
我认为您希望以毫秒为单位存储时间,无论如何,在创建架构时,您可以传递时间戳对象,这将自动创建这两个字段。
var categorySchema = new mongoose.Schema(
{
CatId:{ type: Number, required: true, unique: true },
Name : { type: String, required: true, unique: true },
Description : String,
Is_Active:Number
},{ collection: "Categories",timestamps: { createdAt: 'Db_Created_TimeStamp' ,updatedAt:'Db_Updated_TimeStamp'} })