mongoose操作数据库

2.1. Mongoose简介
Mongoose库简而言之就是在node环境中操作MongoDB数据库的一种便捷的封装,一种对象模型工具,Mongoose将数据库中的数据转换为JavaScript对象以供你在应用中使用。

官方文档:https://www.npmjs.com/package/mongoose
http://mongoosejs.com/

2.2Mongoose的操作流程

  1. 安装mongoose
    npm install mongoose

2 连接数据库
使用mongoose连接数据库的前提条件是:
1、mongo数据库已经运行。
2、已经安装了mongoose包
var mongoose = require(“mongoose”);
// 连接字符串格式为mongodb://主机/数据库名
mongoose.connect('mongodb://localhost/student);
上面这句的意思是连接到本地的mongodb的student表。
// 连接本地mongodb ,本机的ip 127.0.0.1,端口:27017 数据库:student
mongoose.connect(“mongodb://127.0.0.1:27017/student”,function(err){
if(!err){//如果连接成功,则打印出connected to Mongodb
console.log(“connected to Mongodb”);
}else{
throw err;//如果连接失败,则抛出异常
}
});

  1. 新增数据
    Schema : 一种以文件形式存储的数据库模型骨架,不具备数据库的操作能力
    Model : 由Schema发布生成的模型,具有抽象属性和行为的数据库操作对
    Entity : 由Model创建的实体,他的操作也会影响数据库

存储数据步骤:定义Schema (骨架) > 创建model(模型)> Entity实例化方法。
var Schema = mongoose.Schema;
//通过Schema创建一个模式NewsSchema
var studentSchema = new Schema({
name: String,
age: String
});

//通过模式studentSchema 创建一个模型studentModel
var studentModel = mongoose.model(“students”,studentSchema );

var instance1 = new studentModel ();
instance1.name=“tangyan”;
instance1.age=“18”;
//通过save方法保存
instance1.save(function(err){
if (err) {
console.log(‘保存失败’);
return;
}
});

  1. 删除数据
    1、删除数据首先要知道删除哪一条信息,需要知道信息的id.
    2、把对应id的数据查询出来,执行remove方法
    假如我们要删除id=”57e24521a755e1154039a403”的数据。
    var id=”57e24521a755e1154039a403”;
    studentQueryModel.findById(id,function(err,doc){
    if(!doc){
    return next(new NotFound(“Doc not found”))
    }else{
    doc.remove(function(){
    console.log(‘删除成功’);
    })
    }
    });

5 修改数据
修改数据的思路:先把对应id的数据查询出来,对需要修改的字段重新赋值,然后执行save方法保存。
假如我们要修改id=”57e24521a755e1154039a403”的数据。
var id=”57e24521a755e1154039a403”;

studentQueryModel.findById(id,function(err,doc){
//console.log(doc);
doc.name=“xiaotangyan” ;//把name修改为xiaotangyan
doc.save(function(err){
if(!err){
console.log(‘修改成功’);
}else{
throw err;
}
});
});

  1. 查询数据
    下面find第一个参数{}里面为空,表示查询所有的数据:
    docs表示查询的结果集合,可用于渲染ejs模板引擎。

studentQueryModel.find({},function(err,docs){
console.log(docs);
});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值