专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

nodejs操作MongoDB之二(mongoose操作MongoDB)

一、nodejs中使用mongodb

    npm i mongoose --save

二、mongoose使用的基本步骤

  • 1、安装包
  • 2、连接数据库
    const mongoose = require('mongoose');
    // 连接到数据库
    mongoose.connect('mongodb://localhost/nest_cms');
    // 如果有用户名与密码的连接方式
    // mongoose.connect('mongodb://用户名:密码@地址:端口号/数据库');
    // mongoose.connect('mongodb://root:123456@localhost/nest_cms');

  • 3、定义schema
    // 使用命令查看数据库中的表 show collections 或者定义新的
    const OrderSchema = mongoose.Schema({
      order_id: String,
      uid: Number,
      trade_no: String,
      all_price: Number,
      all_num: Number,
    })

  • 4、创建数据模型

    mongoose.model 里面可以传入两个参数也可以传入三个参数。不过建议使用三个参数,集合名字可能与模型名字不一致的时候

    • 两个参数mongoose.model(参数 1:模型名称(首字母大写),参数 2:Schema)第三个参数会摩根根据第一个参数的小写字母来的
    • 三个参数mongoose.model(参数 1:模型名称(首字母大写),参数 2:Schema, 参数 3:数据库集合名称)
    const Order = mongoose.model('Order', OrderSchema, 'order');

  • 5、进行增删改查一系列操作
    // 实例化数据模型,创建数据的时候需要save
    const order1 = new Order({
      order_id: '2',
      uid: 5,
      trade_no: '333',
      all_price: 20,
      all_num: 4,
    })
    order1.save()

    // 查询数据
    Order.find({}, (err, docs) => {
      if (err) {
        console.log('查询错误');
      }
      console.log(JSON.stringify(docs));
    })

三、基本的增、删、改、查操作

  • 1、增加数据

    增加的数据必须使用实例化对象,然后调用save()函数

    const order1 = new Order({
      order_id: '2',
      uid: 5,
      trade_no: '333',
      all_price: 20,
      all_num: 4,
    })
    order1.save()

  • 2、删除数据
    // 删除数据
    Order.deleteOne({_id: '5e0fd41ca53860217c5831bd'}, (err) => {
        if (err) {
            console.log('删除失败');
        }
        console.log('删除成功');
    })

  • 3、修改数据
    // 修改数据
    Order.updateOne({_id: '5e0fd4bb08ad70786fd8ac84', all_num: 2}, {all_num: 5}, (err, res) => {
        if (err) {
            console.log('修改数据错误')
        }
        // { n: 1, nModified: 1, ok: 1 }
        console.log(res);
    });

  • 4、查询数据
    Order.find({}, (err, docs) => {
        if (err) {
            console.log('查询错误', err)
        }
        console.log(JSON.stringify(docs));
    })

四、mongoose模块化及封装单独的链接

  • 1、另外一种mongoose的连接方式
    // 第一步
    const mongoose = require('mongoose');

    // 第二步连接数据库
    mongoose.connect('mongodb://root:123456@localhost/nest_cms', { useNewUrlParser: true }, (err) => {
        if (err) {
            console.log('连接错误');
            return;
        }
        console.log('mongodb连接成功');
    });

  • 2、单独将连接封装成一个模块(别的地方引用都是单利模式,只会连接一次)
    // 第一步
    const mongoose = require('mongoose');

    // 第二步连接数据库
    mongoose.connect('mongodb://root:123456@localhost/nest_cms', { useNewUrlParser: true }, (err) => {
        if (err) {
            console.log('连接错误');
            return
        }
        console.log('mongodb连接成功');
    });

    module.exports = mongoose;

未经允许不得转载:搜云库技术团队 » nodejs操作MongoDB之二(mongoose操作MongoDB)

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们