笔记 nodejs 下mongoose的操作

// mongoose 链接varmongoose=require('mongoose');vardb=mongoose.createConnection('mongodb://127.0.0.1:27017/NodeJS');

// 链接错误db.on('error',function(error){console.log(error);});

// Schema 结构varmongooseSchema=newmongoose.Schema({username:{type:String,default:'匿名用户'},title:{type:String},content:{type:String},time:{type:Date,default:Date.now},age:{type:Number}});

// 添加 mongoose 实例方法mongooseSchema.methods.findbyusername=function(username,callback){returnthis.model('mongoose').find({username:username},callback);}

// 添加 mongoose 静态方法,静态方法在Model层就能使用mongooseSchema.statics.findbytitle=function(title,callback){returnthis.model('mongoose').find({title:title},callback);}

// modelvarmongooseModel=db.model('mongoose',mongooseSchema);

// 增加记录 基于 entity 操作vardoc={username:'emtity_demo_username',title:'emtity_demo_title',content:'emtity_demo_content'};varmongooseEntity=newmongooseModel(doc);mongooseEntity.save(function(error){if(error){console.log(error);}else{console.log('saved OK!');}// 关闭数据库链接db.close();});

// 增加记录 基于model操作vardoc={username:'model_demo_username',title:'model_demo_title',content:'model_demo_content'};mongooseModel.create(doc,function(error){if(error){console.log(error);}else{console.log('save ok');}// 关闭数据库链接db.close();});

// 修改记录mongooseModel.update(conditions,update,options,callback);varconditions={username:'model_demo_username'};varupdate={$set:{age:27,title:'model_demo_title_update'}};varoptions={upsert:true};mongooseModel.update(conditions,update,options,function(error){if(error){console.log(error);}else{console.log('update ok!');}//关闭数据库链接db.close();});

// 查询// 基于实例方法的查询varmongooseEntity=newmongooseModel({});mongooseEntity.findbyusername('model_demo_username',function(error,result){if(error){console.log(error);}else{console.log(result);}//关闭数据库链接db.close();});

// 基于静态方法的查询mongooseModel.findbytitle('emtity_demo_title',function(error,result){if(error){console.log(error);}else{console.log(result);}//关闭数据库链接db.close();});

// mongoose findvarcriteria={title:'emtity_demo_title'};// 查询条件varfields={title:1,content:1,time:1};// 待返回的字段varoptions={};mongooseModel.find(criteria,fields,options,function(error,result){if(error){console.log(error);}else{console.log(result);}//关闭数据库链接db.close();});

// 删除记录varconditions={username:'emtity_demo_username'};mongooseModel.remove(conditions,function(error){if(error){console.log(error);}else{console.log('delete ok!');}//关闭数据库链接db.close();});

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容