MongoDB代码操作

const mongoose = require('mongoose');
let Schema = mongoose.Schema
// 连接数据库test
// 指定连接的数据库不需要存在,当插入第一条数据之后就会自动被创建出来
mongoose.connect('mongodb://localhost/test',{useNewUrlParser: true});
// 2.设计文档结构(表结构)
// 字段名称就是表结构中的属性名称
// 约束的目的就是为了保证数据的完整性
let userSchema = new Schema({
    username:{
        type:String,
        required:true//必须有
    },
    password:{
        type:String,
        required:true
    },
    email:{
        type:String,
    }
});
// 3.将文档结构转为模型
// 第一个参数是跟 model 对应的集合( collection )名字的 单数 形式。 
// Mongoose 会自动找到名称是 model 名字 复数 形式的 collection 。 
// .model() 这个函数是对 schema 做了拷贝(生成了 model)。 
// 你要确保在调用 .model() 之前把所有需要的东西都加进 schema 里了!
// 返回值:模型构造函数
let user = mongoose.model('User',userSchema);
/**1.保存数据***/
let userInform = new user({
    username:"Mr.Li",
    password:"888888",
    email:"admin@admin.com"
});
userInform.save(function(err,res){
    if(err){
        console.log("保存失败");
    }
    else{
        console.log("保存成功",res);
    }
});
/*2.查询数据 */ 
user.find(function(err,res){
    if(err){
        console.log("查询失败");
    }
    else{
        console.log("查询成功",res);
    }
});
/*3.删除数据(Use deleteOne, deleteMany, or bulkWrite instead.)*/
user.remove({username:"Mr.Li"},function(err,res){
        if(err){
            console.log("删除失败");
        }
        else{
            console.log("删除成功",res);
        }
    });
/*4.更新数据 */
user.findByIdAndUpdate({id:"",修改的属性名称:"修改内容"})
// 4.进行增删改查操作
let 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
    }
});
const Cat = mongoose.model('Cat', { name: String });

const kitty = new Cat({ name: 'Zildjian' });
kitty.save().then(() => console.log('meow'));

 

上一篇:express框架使用mongoose操作数据库


下一篇:Mongoose with express-1