node.js(四)Mongoose使用进阶
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使用进阶相关推荐
- Mongodb 数据库基本操作语句,结合 Node.js + express + mongoose (实现增、删、改、查,批量增加、修改等,创建临时表,多表查询......)
版本说明 "MongoDB": "4.0.9", // cmd命令窗输入:mongo --version "node": 10.13.0, ...
- Node.js 常用Mongoose方法
Node.js 手册查询-Mongoose 方法 一.Schema 一种以文件形式存储的数据库模型骨架,无法直接通往数据库端,也就是说它不具备对数据库的操作能力.可以说是数据属性模型(传统意义的表结构 ...
- 摸石头——NOde.js(四)
一.一个错误引发的摸索 上回我们在获取 request 对象的 headers 属性的 'user-agent' 属性时,我使用了 request.headers.user-agent 这样的语法, ...
- Node.js使用mongoose操作mongodb
软件配置: 1.node v8.9.3 2. npm 5.5.1 3. mongoose及MongoDB版本见下package.json // package.json { "name& ...
- 基于Node.js + jade + Mongoose 模仿gokk.tv
原文摘自我的前端博客,欢迎大家来访问 http://www.hacke2.cn 关于gokk 大学的娱乐活动基本就是在寝室看电影了→_→,一般都会选择去goxiazai.cc上看,里面的资源多,质量高 ...
- MongoDB和Node.js的Mongoose简介
Mongoose是一个JavaScript框架,通常在带有MongoDB数据库的Node.js应用程序中使用. 在本文中,我将向您介绍Mongoose和MongoDB,更重要的是,这些技术适合您的应用 ...
- 路漫漫其修远兮:js的成长经历(二十五)—— Node.js中的MongoDB
目录 MongoDB简介 MongoDB安装教程 mongoDB基本组成 mongoDB的基本指令 安装可视化操作软件 熟悉使用MongoDB的基本指令(增删改查等) Node进阶-Mongoose ...
- 开场 Live,分享点干货——「深入了解 Node.js 包与模块机制」
先放上 Live 地址: www.zhihu.com/lives/84274- 本次 Live 将深入剖析 Node.js 包与模块机制,包括且不限于解析 Node.js 源码.社区规范等.本人认为这 ...
- Node.js + React + MongoDB 实现 TodoList 单页应用
之前用 Ant Design 开发了一个项目,因此对 React 的特性有了一定的了解,React 使用封装组件的思想,组件各自维护自己的状态和 UI, 组件之间通过 props 传递数据和方法.当状 ...
- 【Node.js】初识Node.js
系列文章目录 文章目录 系列文章目录 一.什么是 Node.js 二.下载和安装 Node.js 1.普通方式 2.使用 nvm 安装 三.Node.js 和 JavaScript 的区别 1.ECM ...
最新文章
- mysql variables_通过什么命令能够改变mysql的variables的变量里的值?
- java io读取doc内容_Java word 内容读取-Go语言中文社区
- try....exception....finally
- 5-2 决策树算法预测销量高低代码
- php中tags,php中strip_tags()函数的用法举例
- 使用.NET Core与Google Optimization Tools实现加工车间任务规划
- 单片机串口通信学号显示_触摸屏与单片机串口通信测试
- 【Elasticsearch】索引和查询性能调优的21条建议-以及调优参数
- 客户端持久化解决方案: Web SQL
- HttpUtil 工具类
- MAX30102学习笔记(上)
- 电脑桌面不见计算机图标,主编教您电脑桌面图标都不见了怎么办
- 郭盛华为什么不去阿里巴巴?原因竟是这个
- 微软为什么总招人黑?
- arduino中print()跟write()最大区别和注意事项 (最详细)
- Windows Server 2012 和 System Center 2012 SP1,Virtual Machine Manager 中启用的软件定义的网络
- python 绘制玫瑰图
- 计算机一级考试模拟题2003word,2015计算机一级MsOffice练习:Word2003
- 获得SmartScreen信任
- 比乌镇人少!西塘安静!杭州这3个古镇 1h 直达!
热门文章
- js------match() 方法
- java Servlet文件拷贝的模板代码
- java7-3 继承
- 38. Model has-a or is-implemented-in-terms-of through composition
- 排序算法之七 计数排序(C++版本)
- C++ 虚函数表详解
- HttpServletRequest 和 HttpServletResponse
- [日期]字符串转Data对象
- oracle异常:主动抛出自定义异常+捕获指定异常
- FISCO BCOS(一)———搭建单群组FISCO BCOS联盟链