mongodb操作之mongoose
博客专区 > caiyezi 的博客 > 博客详情
mongodb操作之mongoose
caiyezi 发表于1年前
mongodb操作之mongoose
  • 发表于 1年前
  • 阅读 2
  • 收藏 0
  • 点赞 0
  • 评论 0

【腾讯云】买域名送云解析+SSL证书+建站!>>>   

/** * Created by chaozhou on 2015/10/6. */
var mongoose = require("mongoose"); var db = mongoose.createConnection("127.0.0.1", "cms"); //链接错误监听
db.on("error", function (error) { console.log(error); }); //Schema结构
var userSchema = new mongoose.Schema({ userName: {type: String, default: '匿名用户'}, trueName: mongoose.Schema.Types.String, title: {type: String}, content: {type: String}, time: {type: Date, default: Date.now()}, age: {type: Number} }); //添加实例方法
userSchema.methods.findByUserName = function (userName, callBack) { return this.model("user").find({userName: userName}, callBack); }; //添加静态方法,静态方法在model层就能使用
userSchema.statics.findByTitle = function (title, callBack) { return this.model("user").find({title: title}, callBack); }; //model层
var userModel = db.model("user", userSchema); //entity层
var doc = {userName: 'entity_demo_username', title: 'entity_demo_title', content: 'entity_demo_content'}; var userEntity = new userModel(doc); //添加记录,基于entity的操作方式
userEntity.save(function (err) { if (err) { console.log(err); } else { console.log("saved ok"); } }); //增加记录,基于model的操作方式
var doc2 = {username: 'model_demo_username', title: 'model_demo_title', content: 'model_demo_content'}; userModel.create(doc2, function (err) { if (err) { console.log(err); } else { console.log("saved ok"); } db.close(); //关闭数据库链接
}); //修改记录,args:conditions, update, options, callback
userModel.update({userName: 'model_demo_username'}, { $set: { age: 27, title: 'model_demo_title_update' } }, {upsert: false}, function (err) { if (err) { console.log(err); } else { console.log("update ok"); } db.close(); }); //查询,基于实例方法的查询
userEntity.findByUserName('model_demo_username', function (err, result) { if (err) { console.log(err); } else { console.log(result); } db.close(); }); //查询,基于静态方法的查询
userModel.findByTitle('model_demo_title', function (err, result) { if (err) { console.log(err); } else { console.log(result); } db.close(); }); //查询,args:criteria, fields, options, callBack
userModel.find({title: 'entity_demo_title'}, {title: 1, content: 1, time: 1}, function (err, result) { if (err) { console.log(err); } else { console.log(result); } db.close(); }); //删除记录
userModel.remove({userName: 'entity_demo_username'}, function (err, result) { if (err) { console.log(err); } else { console.log('delete ok'); } db.close(); });

 

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 1
博文 108
码字总数 0
×
caiyezi
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: