连接数据库
const mongoose=require('mongoose')
//连接本地服务器的mongodb数据库what_i_love,如果没有此数据库,则自动创建一个新库
const url='mongodb://localhost/what_i_love'
const connection=mongoose.connect(url,{useMongoClient:true});//生成连接串
类似于
<connectionStrings>
<add name="connStr" connectionString="server=localhost;
database=what_i_love/>
</connectionStrings>
生成模型类
const Schema=mongoose.Schema
const UserSchema=new Schema({
name:{type:String,required:true,unique:true,index:1},
age:{type:Number,max:188,min:0},
});
const UserModel=mongoose.model('user',UserSchema);
//数据库中将添加一个新表users,
CRUD
注意:针对UserModel的操作都是数据持久化操作(直接修改数据库中的数据)。
- create
const u=await UserModel.create({
name:"laoyang",
age:20,
});
return u;
等效于
db.users.inserOne({name:"laoyang",age:20})
- update
const u=await UserModel.update(
{name:"laoyang"},
{age:40});
return u;
等效于
db.users.update({name:'laoyang'},{$set:{age:40}})
注意UserModel.update操作,即使不带$set,也不会洗掉其他字段
- 做下优化,降低一下耦合度
(async (params)=>{
const filter={}
if(params.name)
{
filter.name=params.name
}
if(params.projection)
{
projection=params.projection
}
const u=await UserModel.update(filter,params.projection);
return u;
})({
name:"laoyang",
projection:{
age:40
}
})
网友评论