如何用node来操作mongoose

Mongoose

Mongoose是Node中的一模块
通过Mongoose我们可以使用Node来对MongoDB数据库进行操作
Mongoose是一个ODM模块,它将Node中的对象,和数据库中的文档进行映射,
这样我们就可以通过操作对象来对数据库进行操作

使用mongoose的好处:
    可以为文档创建一个模式结构(Schema)
    可以对模型中的对象/文档进行验证
    数据可以通过类型转换转换为对象模型
    可以使用中间件来应用业务逻辑挂钩
    比Node原生的MongoDB驱动更容易

核心对象
Schema(模式对象)
    该对象用来对数据库中的集合进行约束
    它规定了集合中有哪些字段,并且也规定了字段的类型
 步骤:
        var Schema = mongoose.Schema;
        var xxxSchema = new Schema({
            字段:类型,
            字段:类型,
            字段:类型,
            字段:类型
        });
Model(模型)
    该对象代表了数据库中的集合
    通过Model对象可以对集合进行各种操作
    Schema对象就是用来约束Model的
创建模型
    var Xxx = mongoose.model(集合名,xxxSchema);
Model对象的方法:
  Model.create()
     创建一个文档并将其插入到集合
  Model.find()
     查询所有符合添加的文档,返回一个数组
  Model.findOne()
     查询符合条件的第一个文档,返回的是一个文档对象
  Model.findById()
     根据id属性值查询一个文档
  Model.count()
     统计集合中指定文档的数量
  Model.update()    
     修改(替换)一个或多个文档
  Model.updateOne() 
     修改一个文档
  Model.updateMany()
     修改多个文档
  Model.replaceOne()
     替换文档
  Model.remove();
     删除一个或多个文档
  Model.deleteOne();    
     删除一个文档
  Model.deleteMany();
     删除多个文档

Document(文档)
    文档对象和数据库中的文档进行映射
    通过Document可以对数据库中具体数据进行操作
    创建文档
        var xxx = new Xxx({
            字段:值,
            字段:值,
            字段:值,
            字段:值
        });

    通过Model查询出来的结果也都是Document   
Document对象的方法:
    doc.save()
      将文档存储到集合中
    doc.update()
      修改当前的文档
    doc.remove()
      删除文档
    doc.set()
      设置属性
    doc.get()
      获取属性
    doc.toObject()
      将Document对象转换为普通JS对象

通过Mongoose来连接数据库

1.下载安装mongoose
    npm i mongoose --save
2.引入mongoose
    var mongoose = require("mongoose");
3.连接数据库
    mongoose.connect("mongodb://ip地址:端口号/数据库名");
4.监听数据库的状态
    mongoose.connection.on("open",...);
    mongoose.connection.on("close",...);
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值