mongoose 简单用法

来源:互联网 发布:网络电视机的好处 编辑:程序博客网 时间:2024/05/16 13:39

schema model entity

  • schema 一种以文件形式存储的数据库模型骨架,不具备数据库的操作能力,但是这是必须的,就类似 申明你的数据库对应表的结构 有哪些字段 ,每一个字段的属性 是否唯一等等。
  • model 由Schema发布生成的模型,具有抽象属性和行为的数据库操作,通过model模型 对对应的表进行增删查改等操作。
  • entity 由Model创建的实体,他的操作也会影响数据库 (同model)
/** * Created by Administrator on 2017/5/3. */var mongoose = require('mongoose');var Schema = mongoose.Schema;var config = require('../config/default');mongoose.connect(config.mongodb);var db = mongoose.connection;db.on('error', function (err) {    console.log('connect error');});// db.once('open',function () {//     console.log('connect success !');//// });db.on('open', function (cb) {    console.log('connect success !');});//Schema 结构var userSchema = new Schema({    name: String,    password: String,    nickname: {type: String, default: 'shop'},    date: {type: Date, default: Date.now},});//得到用户model 对应的是mongodb里面的数据库shop里面的users表结构var userModel = mongoose.model('users', userSchema);//entityvar user = {    name:'testName1',    password:'123456789000000',};//根据实际数据新建一个实体类 这个类也可以进行对应表的所有操作 增删查改//一般不这么用var userEntity = new userModel(user);// userEntity.save(function (err) {//     if(err){//         console.log(err)//     }else{//         console.log("save success");//     }//     db.close();// });// 异步执行 find 先于 save执行完毕userModel.find(function (err,arr) {   console.log(arr);});// 即使 在相同条件下 依旧返回最开始的一条数据userModel.findOne({name:'testName'},function (err,user) {    console.log(user);});var conditions = {name:'testName'};var update     = {$set : {nickname : 'shop_update'}};userModel.update(conditions,update,{upsert:true,overwrite:true,multi:true},function (err,num,rawnum) {    if(err){        console.log(err);    }else{        console.log("update ok");    }    console.log(rawnum);//受影响的行数    db.close();});//基于model的增删查改userModel.create(user,function (err) {    if(err){        console.log('create fail : '+err);    }else{        console.log('create user success');    }});// 删除 操作 删除所有符合条件的文件userModel.remove({name:"testName"},function (err) {    if(err){        console.log(err);    }else{        console.log("update ok");    }}); exports = mongoose.model('users',userSchema);
0 0