先安装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)
})
这里只列了几个方法,还有一些方法没有一一列出。非常的灵活,看你的需求用对应的方法。