内容简介:下载下载下面的代码位置:
使用 mongoose 操作 mongodb 的测试文件
-
连接数据库
1.1 引入 mongoose
1.2 连接指定的数据库(URL 只有数据库是变化的)
1.3 获取连接对象
1.4 绑定连接完成的监听(用来提示连接成功) -
得到对应特定集合的 Model
2.1 字义 Schema(描述文档结构)
2.2 定义 Model(与集合对应,可以操作集合) -
通过 Model 或其实例对集合数据进行 CRUD 操作
3.1 通过 Model 实例的 save() 添加数据
3.2 通过 Model 的 find()/findOne() 查询多个或一个数据
3.3 通过 Model 的 findByIdAndUpdate() 更新某个数据
3.4 通过 Model 的 deleteOne() 删除匹配的数据
- */
下载 mongoose
依赖包
npm install --save mongoose
下载 md5
加密依赖包
npm install --save blueimp-md5
下面的代码位置: db_test.js
// 引入 md5 依赖
const md5 = require('blueimp-md5')
1. 连接数据库
// 1.1 引入 mongoose
const mongoose = require('mongoose')
// 1.2 连接指定的数据库(URL 只有数据库是变化的)
mongoose.connect('mongodb://localhost:27017/zp_test', {useNewUrlParser: true})
// 1.3 获取连接对象
const conn = mongoose.connection
// 1.4 绑定连接完成的监听(用来提示连接成功)
conn.on('connected', function () {
console.log('数据库连接成功!')
})
2. 得到对应特定集合的 Model
// 2.1 字义 Schema(描述文档结构)
const userSchema = mongoose.Schema({
username: {type: String, require: true}, // 用户名
password: {type: String, required: true}, // 密码
type: {type: String, required: true} // 用户类型: 求职者/老板
})
// 2.2 定义 Model(与集合对应,可以操作集合)
const UserModel = mongoose.model('users', userSchema) // 集合名: users
3. 通过 Model 或其实例对集合数据进行 CRUD 操作
3.1 通过 Model 实例的 save() 添加数据
function testSave() {
// user 数据对象
const user = {
username: 'mandy',
password: md5('1234'),
type: '求职者'
}
// 创建 Model 实例
const userModel = new UserModel(user)
// 或者像下面这样添加数据
// const userModel = new UserModel({username: 'Tom', password: md5('3333'), type: '老板'})
// 保存到数据库
userModel.save(function (err, user) {
console.log('save', err, user)
})
}
// testSave()
3.2 通过 Model 的 find()/findOne() 查询多个或一个数据
function testFind() {
// 查找多个
UserModel.find(function (err, users) { // 如果有匹配返回一个[user, user...], 如果没有一个匹配的返回[]
console.log('find()', err, users)
})
// 查找一个
UserModel.findOne({_id: '5cdf99ebf3539334948ae2c8'}, function (err, user) { // 如果有匹配返回的是一个user
console.log('findOne()', err, user)
})
}
// testFind()
3.3 通过 Model 的 findByIdAndUpdate() 更新某个数据
function testUpdate() {
UserModel.findByIdAndUpdate({_id: '5cdfacc55684652a08b49014'}, {username: '一个老板'}, function (err, user) {
console.log('findByIdAndUpdate()', err, user)
})
}
// testUpdate()
3.4 通过 Model 的 remove() 删除匹配的数据
function testDelete() {
UserModel.deleteOne({_id: '5cdf9d761a1c050c70bc0d09'}, function (err, result) {
console.log('deleteOne()', err, result)
})
}
// testDelete()
运行:
node db_test.js
可以在mongodb的可视化 工具 中查看效果.
可视化工具
webstorm中的 Mongo Plugin 插件
Robo 3T
以上所述就是小编给大家介绍的《使用 mongoose 操作 mongodb 增删改查》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Golang操作MySQL增删改查
- 使用Kibana实现基本的增删改查操作
- 每日一博 | Elasticsearch 与 Thinkphp 增删改查操作
- 每日一博 | Elasticsearch 与 Thinkphp 增删改查操作
- Go中map的操作与使用(增删改查)
- 使用HDFS dfs命令对文件进行增删改查操作
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Head First Servlets & JSP(中文版)
(美)巴萨姆、(美)塞若、(美)贝茨 / 苏钰函、林剑 / 中国电力出版社 / 2006-10 / 98.00元
《Head First Servlets·JSP》(中文版)结合SCWCD考试大纲讲述了关于如何编写servlets和JSP代码,如何使用JSP表达式语言,如何部署Web应用,如何开发定制标记,以及会话状态、包装器、过滤器、企业设计模式等方面的知识,以一种轻松、幽默而又形象的方式让你了解、掌握servlets和JSP,并将其运用到你的项目中去。《Head First Servlets·JSP》(中......一起来看看 《Head First Servlets & JSP(中文版)》 这本书的介绍吧!