创建

var mongoose =require('mongoose');
//模式
 var Schema = mongoose.Schema;

//连接itcast数据库
//如果没有itcast数据库,在我们插入第一条数据时就会自动创建它
mongoose.connect('mongodb://localhost/itcast');

//设计集合结构
//字段名称,表结构中的属性名称
// 约束的目的是为了保证时数据的完整性,不要有脏数据
 var userSchema=new Schema({
    username:{
        type:String, //类型
        require:true //约束,必须有username
    },
    password:{
        type:String, //类型
        require:true //约束
    },
    email:{
        type:String
    }
 })

//将文档结构发布为模型
//mongoose.model方法将一个架构发布为model
//第一个参数为一个大写单数字符串,User最后会变成users,是一个集合名称
//第二个参数是架构Schema
//返回值是模型构造函数
var User=mongoose.model('User',userSchema);



//模板
  // var blogSchema = new Schema({
  //   title:  String,
  //   author: String,
  //   body:   String,
  //   comments: [{ body: String, date: Date }],
  //   date: { type: Date, default: Date.now },
  //   hidden: Boolean,
  //   meta: {
  //     votes: Number,
  //     favs:  Number
  //   }
  // });
  //

## 添加
```
var admin=new User({
username:"Mary",
password:"hhh123",
email:"[email protected]"
});

admin.save().then(()=>{
console.log('好了');
})


## 查询

//查询全部
User.find((err,res)=>{
if(err){
console,log("失败");

}else{
    console.log(res);
}

})
```

结果:

[ { _id: 5d79927a7cad332f802ba3fa,

username: 'Mary',

password: 'hhh123',

email: '[email protected]',

__v: 0 } ]

//按条件查询
   User.findOne({
    username:"zz"
   },(err,res)=>{
    if(err){
        console,log("失败");

    }else{
        console.log("zz",res);
    }
  })

删除

//删除
User.remove({
    username:'zz'
},(err,res)=>{
    if(err){
        console.log("删除失败");
    }else{
        console.log("删除成功");
    }
})

有多少zz就删多少个

更新

// 更新
User.findByIdAndUpdate('5d79927a7cad332f802ba3fa',{
    password:'234'
},(err,res)=>{
    if(err){
        console.log("更新失败");
    }else{
        console.log("更新成功");
    }
})
01-20 04:15