Mongoose使用进阶

模式的扩展

默认值

模型的初始化未被赋值的值

模式的方法

预定义修饰符

var user=mongoose.model('User',{nickname:{type:String,trim:true}
})

trim:去掉前后空格的修饰符

setter修饰符

存入数据库时使用

var user=mongoose.model('User',{bolg:{type:String,set:function(url){if(!url)return url;if(0!== url.indexOf('http://')&&0!==url.indexOf('https://'))url='http://'+urlreturn url;}}
})

getter修饰符

取出数据库时使用

var user=mongoose.model('User',{bolg:{type:String,get:function(url){if(!url)return url;if(0!== url.indexOf('http://')&&0!==url.indexOf('https://'))url='http://'+urlreturn url;}}
})

虚拟属性

.virtual()

模型的方法

自定义静态方法

.statics.创建的静态方法名=functuon(,){

}

自定义实例方法

.methods.实例方法名

数据的校验

预定义的验证器:

  • required
  • Number(max,min)
  • enum(枚举)
  • match 是否存在一个字段
var user=mongoose.model('User',{nickname:{type:String,requried:trueenum:['dsdsa','dsd','dsdsd']}
})

自定义的验证器

vailedate:function(){

}

var user=mongoose.model('User',{nickname:{type:String,vailedate:function(){}}
})

中间件

文档中间件

  • init
  • validata
  • save
  • remove

查询中间件

  • count
  • findOne
  • findOneAndRemove
  • findOneAndUpdata
  • updata

后置处理中间件

.post('',function(){})

前置处理中间件

.pre()

保存完成后进行的中间件

DBRef

populate()

node.js(四)Mongoose使用进阶相关推荐

  1. Mongodb 数据库基本操作语句,结合 Node.js + express + mongoose (实现增、删、改、查,批量增加、修改等,创建临时表,多表查询......)

    版本说明 "MongoDB": "4.0.9", // cmd命令窗输入:mongo --version "node": 10.13.0, ...

  2. Node.js 常用Mongoose方法

    Node.js 手册查询-Mongoose 方法 一.Schema 一种以文件形式存储的数据库模型骨架,无法直接通往数据库端,也就是说它不具备对数据库的操作能力.可以说是数据属性模型(传统意义的表结构 ...

  3. 摸石头——NOde.js(四)

    一.一个错误引发的摸索 上回我们在获取 request 对象的 headers 属性的 'user-agent'  属性时,我使用了 request.headers.user-agent 这样的语法, ...

  4. Node.js使用mongoose操作mongodb

    软件配置: 1.node v8.9.3 2. npm 5.5.1 3. mongoose及MongoDB版本见下package.json // package.json {   "name& ...

  5. 基于Node.js + jade + Mongoose 模仿gokk.tv

    原文摘自我的前端博客,欢迎大家来访问 http://www.hacke2.cn 关于gokk 大学的娱乐活动基本就是在寝室看电影了→_→,一般都会选择去goxiazai.cc上看,里面的资源多,质量高 ...

  6. MongoDB和Node.js的Mongoose简介

    Mongoose是一个JavaScript框架,通常在带有MongoDB数据库的Node.js应用程序中使用. 在本文中,我将向您介绍Mongoose和MongoDB,更重要的是,这些技术适合您的应用 ...

  7. 路漫漫其修远兮:js的成长经历(二十五)—— Node.js中的MongoDB

    目录 MongoDB简介 MongoDB安装教程 mongoDB基本组成 mongoDB的基本指令 安装可视化操作软件 熟悉使用MongoDB的基本指令(增删改查等) Node进阶-Mongoose ...

  8. 开场 Live,分享点干货——「深入了解 Node.js 包与模块机制」

    先放上 Live 地址: www.zhihu.com/lives/84274- 本次 Live 将深入剖析 Node.js 包与模块机制,包括且不限于解析 Node.js 源码.社区规范等.本人认为这 ...

  9. Node.js + React + MongoDB 实现 TodoList 单页应用

    之前用 Ant Design 开发了一个项目,因此对 React 的特性有了一定的了解,React 使用封装组件的思想,组件各自维护自己的状态和 UI, 组件之间通过 props 传递数据和方法.当状 ...

  10. 【Node.js】初识Node.js

    系列文章目录 文章目录 系列文章目录 一.什么是 Node.js 二.下载和安装 Node.js 1.普通方式 2.使用 nvm 安装 三.Node.js 和 JavaScript 的区别 1.ECM ...

最新文章

  1. mysql variables_通过什么命令能够改变mysql的variables的变量里的值?
  2. java io读取doc内容_Java word 内容读取-Go语言中文社区
  3. try....exception....finally
  4. 5-2 决策树算法预测销量高低代码
  5. php中tags,php中strip_tags()函数的用法举例
  6. 使用.NET Core与Google Optimization Tools实现加工车间任务规划
  7. 单片机串口通信学号显示_触摸屏与单片机串口通信测试
  8. 【Elasticsearch】索引和查询性能调优的21条建议-以及调优参数
  9. 客户端持久化解决方案: Web SQL
  10. HttpUtil 工具类
  11. MAX30102学习笔记(上)
  12. 电脑桌面不见计算机图标,主编教您电脑桌面图标都不见了怎么办
  13. 郭盛华为什么不去阿里巴巴?原因竟是这个
  14. 微软为什么总招人黑?
  15. arduino中print()跟write()最大区别和注意事项 (最详细)
  16. Windows Server 2012 和 System Center 2012 SP1,Virtual Machine Manager 中启用的软件定义的网络
  17. python 绘制玫瑰图
  18. 计算机一级考试模拟题2003word,2015计算机一级MsOffice练习:Word2003
  19. 获得SmartScreen信任
  20. 比乌镇人少!西塘安静!杭州这3个古镇 1h 直达!

热门文章

  1. js------match() 方法
  2. java Servlet文件拷贝的模板代码
  3. java7-3 继承
  4. 38. Model has-a or is-implemented-in-terms-of through composition
  5. 排序算法之七 计数排序(C++版本)
  6. C++ 虚函数表详解
  7. HttpServletRequest 和 HttpServletResponse
  8. [日期]字符串转Data对象
  9. oracle异常:主动抛出自定义异常+捕获指定异常
  10. FISCO BCOS(一)———搭建单群组FISCO BCOS联盟链