本文正在参加「技术专题19期 漫谈数据库技术」活动
连接数据库
mongoose.connect('mongodb://localhost/playground')
.then(() => {
console.log('数据库连接成功');
})
.catch(
(err) =>{
console.log(err, '数据库连接失败');
}
)
集合规则
const courseSchema = new mongoose.Schema({
name: String,
author: String,
isPublished: Boolean
})
使用规则创建集合构造函数
const Course = mongoose.model('Course', courseSchema) //courses
const course = new Course({
name: 'node',
author: 'heima',
isPublished: false
})
数据保存到数据库中
course.save();
向集合中插入文档
Course.create({name: 'javascript', author: '讲师', isPublished: false}, (err, result) => {
console.log(err);
console.log(result);
})
支持promise
Course.create({name: 'javascript213', author: '讲师', isPublished: false})
.then((result) => {
console.log(result);
})
### 集合规则
const userSchema = new mongoose.Schema({
name: String,
age: Number,
email: String,
password: String,
hobbies: [String]
})
使用规则创建集合构造函数
const User = mongoose.model('User', userSchema)
查询用户集合中所有文档
User.find().then(result => console.log(result))
通过_id字段查找文档
User.find({_id: '5c09f1e5aeb04b22f8460965'}).then(result => console.log(result))
findOne方法返回一条文档,默认返回当前集合中的第一条文档
User.findOne({name: '李四'}).then(result => console.log(result))
匹配大于小于
User.find({age: {$gt:20, $lt:40}}).then(result => console.log(result))
匹配包含
User.find({hobbies: {$in: ['足球']}}).then(result => console.log(result))
选择要查询的字段 -不查询空格隔开
User.find().select('email -_id').then(result => console.log(result))
将数据按照年龄进行排序 -降序
User.find().sort('-age').then(result => console.log(result))
skip跳过多少条数据, limit限制查询数据量
User.find().skip(2).limit(1).then(result => console.log(result))
使用规则创建集合构造函数
const User = mongoose.model('User', userSchema)
查找到一条文档并且删除,返回删除的文档 ,匹配多个文档,删除第一个匹配的文档
User.findOneAndDelete({_id: '5c09f2d9aeb04b22f846096b'}).then(result => console.log(result))
删除多个
User.deleteMany({}).then(result => console.log(result))
使用规则创建集合构造函数
const User = mongoose.model('User', userSchema)
更新集合中的文档
User.updateOne({name: '李四'},{name: '文治'}).then(result => console.log(result))
更新集合中多个文档
User.updateMany({},{age: '10'}).then(result => console.log(result))
创建用户6359fe9a53ee71396bc5f450
User.create({name: 'it'}).then(result => console.log(result))
创建文章
Post.create({title: '123', author: '6359fe9a53ee71396bc5f450'}).then(result => console.log(result))
Post.find().populate('author').then(result => console.log(result))
添加数据库账号 1.以系统管理员的方式运行powershell
2.连接数据库 mongo
3.查看数据库 show dbs
4.切换到admin数据库 use admin
5.创建超级管理员账户 db.createUser()
6.切换到自己的数据库 use admin
7.创建普通账号 db.createUser()
本文正在参加「技术专题19期 漫谈数据库技术」活动