在Node.js和前端应用程序中,数据库是重要的组成部分。数据库能够在应用程序中存储数据,并且可提供更快的查询时间,使得对于用户而言更加友好。另外,对于web应用来说,性能也是非常重要的。如今很多的Node.js应用程序使用MongoDB作为数据库,而MongoDB是为非结构化数据而设计的数据库。Mongoose是一个在MongoDB上进行高级MongoDB查询和系统设计的对象模型工具。
mongoose-timestamp-date-unix是一个npm的包形式,是Mongoose模块的插件,为模式添加注册时间、更新时间和Unix时间戳字段。
安装
确保安装了mongoose,之后你可以使用npm来安装mongoose-timestamp-date-unix
npm install mongoose-timestamp-date-unix
使用
该插件可适用于所有Mongoose模式和模型。
第一步:在Mongoose的架构(schema)中引用插件
-- -------------------- ---- ------- -- --------------------------------------- ----- -------- - -------------------- ----- ---------- ---------------------------------------- -- -------- ----- ---------- - --- ----------------- ------ ------- -------- ------ --- -- -------- ----------------------------- -- ------- ----- ---- - ---------------------- ------------ -------------- - -----
第二步:使用Mongoose模型
-- -------------------- ---- ------- ----- ---- - -------------------------- -- ------ ----- ------- - --- ------ ------ ----------------------------------- -------- --------------- --- -- ---- -------------------------- ---- - -- ----- - ----------------- ------- - --------------------- - ------------- ---
第三步:使用插件自动生成字段
向模型中存储文档时,插件会自动生成以下三个元素:
- createdAt: 存储文档创建时间
- updatedAt: 存储文档更新时间
- timestamp: 存储Unix时间戳
可使用以下方式获取:
-- -------------------- ---- ------- -------------------- ------------------------------------ ------------- ----- -- ----- - ----------------- ------- - --------------------------- -- -------- --------------------------- -- -------- --------------------------- -- ----------- --
使用指南
该插件在数据库表中自动添加“createAt”、“updatedAt”和“timestamp”字段。如果不希望自动生成某些字段,则可以使用以下配置:
// 只生成 ”updatedAt“ 字段 blogSchema.plugin(timestamp, {updatedAt: {enable: true, allowNull: false}});
以下是可以使用的选项:
- createdAt:Bool和Object。是否禁用或禁用创建时间属性,默认启用,如果设置为Object,则可以设置default属性设置默认值,enable属性设置是否启用,required属性设置是否必填,allowNull属性设置是否允许为空。
- updatedAt:Bool和Object。是否禁用或禁用更新时间属性,默认启用,如果设置为Object,则可以设置default属性设置默认值,enable属性设置是否启用,required属性设置是否必填.
- insertTime:Bool和Object。是否禁用或禁用插入时间属性,默认启用,如果设置为Object,则可以设置enable属性设置是否启用,required属性设置是否必填。
- timestamp:Bool和Object。是否禁用或禁用时间戳属性,默认启用,如果设置为Object,则可以设置default属性设置默认值,enable属性设置是否启用,required属性设置是否必填,allowNull属性设置是否允许为空。
结论
使用mongoose-timestamp-date-unix,能够轻松地在Mongoose中为模型添加注册时间、更新时间和Unix时间戳字段。在此基础上可自定义各个字段生成的规则和参数等,方便大家快速开发应用程序。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600562e581e8991b448e0806