MongoDB增删改查操作
1、创建集合
创建集合分为两步,一是对集合设定规则,二是创建集合,创建mongoose.Schema构造函数的实例即可创建集合
const mongoose = require('mongoose');
//一、创建用户集合规则
const userSchema = new mongoose.Schema({
name: {
type: String,
required: true,
minlength: 2,
maxlength: 20
},
age: {
type: Number,
min: 18,
max: 80
}
});
//二、创建集合,返回的是一个集合的构造函数
const User = mongoose.model('User', userSchema);
2、创建文档(两种方法)
创建文档实际上就是向集合中插入数据
分为两步:
- 创建集合实例
- 调用实例对象下的save方法将数据保存到数据库中
方法一:
const user = new User({
name: '张三',
age: 22
});
user.save();
方法二:
User.create({name: '张三', age: 22}, (err, doc) => {
//错误对象
console.log(err);
//当前插入的文档
console.log(doc);
})
User.create({name: '张三', age: 22})
.then(doc => console.log(doc))
.catch(err => console.log(err))
3、mongoDB数据库导入数据
先配置环境变量,将安装mongoDB的bin目录添加到环境变量的path中
mongoimport -d 数据库名称 -c 集合名称 --file 要导入的数据文件
4、查询文档
查询多条,以数组的形式返回
find()为空则返回全部
User.find({_id: '1'}).then(resule => console.log(resule))
findOne方法返回一条文档,默认返回当前集合中的第一条文档
User.findOne({name: '张三'}).then(resule => console.log(resule))
匹配大于小于
//查询用户集合中年龄子段大于20并且小于50的
User.find({age: {$gt: 20, $lt: 50}}).then(resule => console.log(resule))