【Node.js】测试mongodb的增删改查

/*
 *  测试使用mongoose操作mongodb数据库
 */
const md5 = require('blueimp-md5')
// 1. 连接数据库
// 1.1 引入mongoose
const mongoose = require('mongoose')
// URi
const uri = "mongodb://localhost:27017/recruit_db_test"
// 1.2 连接指定数据库(URL只有数据库是变化的)
mongoose.connect(uri, {useNewUrlParser: true, useUnifiedTopology: true})
// 1.3 获取连接对象
const conn = mongoose.connection
// 1.4 绑定连接完成的监听
conn.on('connected', () => { // 连接成功回调
    console.log("数据库连接成功~")
})

// 2. 得到对应特定集合的Model
// 2.1 字义Schema(描述文档结构)
const userSchema = mongoose.Schema({
    username: {type: String, required: true}, // 用户名
    password: {type: String, required: true}, // 密码
    type: {type: String, required: true}, // 类型
    header: {type: String} // 头像
})
// 2.2 定义Model(与集合对应,可以操作集合)
const UserModel = mongoose.model('user', userSchema)

// 3. CRUD
// 3.1 通过Model实例的save()添加数据
function testSave() {
    const userModel = new UserModel({
        username: 'Mark',
        password: md5('123'),
        type: 'dashen'
    })
    userModel.save(function (error, user) { // 返回的是一个文档(user)对象
        console.log("save()", error, user)
    })
}

// testSave()

// 3.2 通过Model的find()/findOne()查询多个或一个数据
function testFind() {
    // 查询多个
    UserModel.find(function (error, users) {
        console.log("find()", error, users)
    })
    // 查询一个
    UserModel.findOne({_id: '5f966aa8ab0ad839b8382e0f'}, function (error, user) {
        console.log("findOne()", error, user)
    })
}

// testFind()

// 3.3 通过Model的findByIdAndUpdate()更新某个数据
function testUpdate() {
    UserModel.findByIdAndUpdate({_id: '5f966ae2230fb4523824bbca'}, {username: 'Jack'}, function (err, oldUser) {
        console.log('findByIdAndUpdate()', err, oldUser)
    })
}

// testUpdate()

// 3.4 通过Model的remove()删除匹配的数据
function testDelete() {
    UserModel.remove({_id: '5f967a859f9eb2404c46b5e2'}, function (err, doc) {
        console.log("remove()", err, doc)
    })
}

testDelete()

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zqq_2016

有用的话,来打赏博主吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值