mongoose增删改查

先安装mongoose第三方库,确认安装后可开始创建数据库等操作。

创建一个js,连接的库是我本地的students

// 引用mongoose第三方库
const mongoose = require('mongoose')
const Schema = mongoose.Schema

// 连接数据库
mongoose.connect('mongodb://localhost:27017/students', { useNewUrlParser: true, useUnifiedTopology: true })

// 设计表结构
const studentSchema =  new Schema({
    name: {
        type: String,
        required: true
    },
    gender: {
        type: String,
        required: true
    },
    age: {
        type: Number,
        required: true
    },
    hobbies: {
        type: String
    }
})

// 导出模型构造函数
module.exports = mongoose.model('Student', studentSchema)

1.查

 1.1查询符合要求的全部数据(find)

Student.find(function (err, students) {
    if (err) {
        console.log('查询失败')
    }
    console.log(students)
})


查询符合某一条件的全部数据

    Student.findOne({'name':'11111'}, function (err, students) {
        if (err) {
            console.log('查询失败')
        }
        console.log(students)
    })

1.2查询符合条件的第一条数据(findOne),满足条件写法与find一样。

    Student.findOne(function (err, students) {
        if (err) {
            console.log('查询失败')
        }
        console.log(students)
    })

 1.3通过id查询数据(findById),第一个参数是要查询的id。

    Student.findById('60debcea28be9928ecbb71aa', function (err, students) {
        if (err) {
            console.log('查询失败')
        }
        console.log(students)
    })

2.增(save和create都可以,这里用的是save)

    var Student = new studentSchema({
        name: '3333',
        gender: '女',
        age: 18,
        hobbies: '打篮球'
    })
    Student.save(function (err, students) {
        if (err) {
            console.log('添加失败')
        }
        console.log(students)
    })

3.改

还有其他的方法,例如:findOneAndUpdate、findByIdAndUpdate等,这里用update。查找name字段为‘3333’的数据将数据中的name字段的值更改为'zzh'

    Student.update({name: '3333'},{name: 'zzh'}, function (err, students) {
        if (err) {
            console.log('更改失败!')
        }
        console.log('更改成功!')
        console.log(students)
    })

4.删

4.1根据条件删除数据(remove)

    Student.remove({name: '22222'}, function (err, students) {
        if (err) {
            console.log('删除失败!')
        }
        console.log('删除成功!')
        console.log(students)
    })

4.2通过id删除数据(findByIdAndRemove)

    Student.findByIdAndRemove('60ded98be327300f105735dd', function (err, students) {
        if (err) {
            console.log('删除失败!')
        }
        console.log('删除成功!')
        console.log(students)
    })

这里只列了几个方法,还有一些方法没有一一列出。非常的灵活,看你的需求用对应的方法。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值