创建集合(需要引入模块mongoose)
//创建集合规则
const userSchema=new mongoose.schema({
//验证规则(可选)
name: {
type:string,//类型
maxlength:20,//字符串最大长度
minlength:2,//字符串最小长度
message:"姓名长度在2-20位",//出错提示信息
trim: true,//去除字符串两边的空格
required:true//必须传入
}
age: {
type:Number,//类型
max:120,//最大值
min:0,//最小值
message:"年龄必须在0-120岁之间"//出错提示信息,
}
})
//创建集合并应用规则
const User=mongoose.model('User',userSchema)
添加文档(方法1)
- 添加文档实际上就是向集合中插入数据。
- 分为两步:
- 创建集合实例。
- 调用实例对象下的save方法将数据保存到数据库中。
//创建文档
const user=new User({
name:"张三",
age:18
})
//将文档插入到数据库中
User.save()
添加文档(方法2)
//创建文档
const user=User.create({
name:"张三",
age:18
}).then(doc=>console.log(doc))//当前插入文档
.catch(err=console.log(err))//错误对象
导入文档
- 注意:使用前需要配置环境变量
找到mongodb
安装目录的bin
目录,将bin
目录配置到环境变量中
mongoimport -d 数据库名称 -c集合名称 --file 导入文件的路径
删除文档
//删除单个
User.findOneAndDelete({}).then(result => console.log(result))//对象为删除条件,对象为空表示删除所有(谨慎操作)
//删除多个
User.deleteMany({}).then(result => console.log(result))//对象为删除条件,对象为空表示删除所有(谨慎操作)
更新文档
//更新单个
User.updateOne({查询条件},{要修改的值}).then(result => console.log(result))//第一个参数为更新条件,第二个参数为更新的参数
//更新多个
User.updateMany({查询条件},{要修改的值}).then(result => console.log(result))//第一个参数为更新条件,第二个参数为更新的参数
查询文档
//根据条件查询(返回一个,若多于一个只返回第一个)
User.findOne({查询条件}).then(result => console.log(result))//第一个参数为查询条件
//匹配大于 小于($gt:大于,$lt:小于)
User.find({age:{$gt:18,$lt:50}}).then(result => console.log(result))
//匹配包含
User.find({age:{$in:[18,19,20]}}).then(result => console.log(result))
//选择要查询的字段
User.find().select('name').then(result => console.log(result))
//将数据按照年龄进行排序
User.find().sort('age').then(result => console.log(result))
//skip 跳过多少条数据 limit 限制查询数量
User.find().skip(1).limit(10).then(result => console.log(result))