mongodb和moogoose

MongoDB是一个基于分布式文件存储的数据库。MongoDB 是一个介于关系数据库和非关系数据库之间的产品。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB支持丰富的查询语言,以支持读写操作(CRUD),具有高可用性, 支持多种存储引擎。

mongodb 安装

mongodb 安装
官网下载地址

安装可视化管理工具

Studio 3T或Robo 3T

配置环境变量

在path变量中添加mongodb\bin所在路径

mongodb 使用

  • which mongod 查看mongodb安装路径
  • mongod 启动服务

验证是否成功

  • 在浏览器地址栏输入 127.0.0.1:27017 ,出现以下界面则说明环境已配好。
    It looks like you are trying to access MongoDB over HTTP on the native driver port.

使用mongoDB客户端

进入安装目录执行 mongo.exe文件 打开命令行界面执行 mongoDB操作如 show dbs 查看所有数据库

使用MongoDB可视化工具Studio 3T

安装完成启动Studio 3T 类似navigat

  1. 点击Connect创建连接后, 就可以看到初始的三个数据库
  2. 在新建的connect上右键即可创建数据库(Add Database)、在数据库上右键创建数据表(Add Collection)等
  3. 点击 Open intelliShell 可以执行CRUD增删改差操作

mongoDB常用操作

  1. 插入一条数据: db.表名.insertOne({ name: 'tew', sex: 1})
  2. 插入多条数据: db.表名.insertMany([{ name: 'tew', sex: 1}, { name: 'tew', sex: 1}])
  3. 查询所有: db.表名.find(),相当于:SELECT * FROM table_name
  4. 按条件查询: db.表名.find({ke:value}),相当于SELECT * FROM 表名 WHERE name = ?
  5. 更新单个数据 db.表名.updateOne()
  6. 删除所有数据 db.表名.deleteMany()
  7. 删除与条件匹配的数据 db.表名.deleteMany()

使用moogoose

moogoose官网教程

  • 安装 npm i mongoose
  • 定义schema,Mongoose里,一切都始于Schema,每个schema都会映射到一个 MongoDB collection(表)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    const mongoose = require('mongoose')
    // 连接数据库
    mongoose.connect('mongodb://localhost/dbs', {useNewUrlParser:true, useUnifiedTopology: true})
    let personSchema = new mongoose.Schema({ // 表
    name: String, // 字段
    age: Number // 字段
    })
    const Person = mongoose.model('Person', personSchema) // 创建模型
    app.use('/addPerson', async (ctx) => {
    const person = new Person({ // 实例化model模型
    name: 'tew',
    age: 29
    })
    try {
    await person.save() // 保存到数据库
    code = 0
    } catch (error) {
    code = -1
    }
    ctx.body = {
    code
    }
    })

参考链接

Windows下MongoDB的下载安装、环境配置 - chenhongyong - 博客园
MongoDB可视化工具Studio 3T的使用

-------------本文结束感谢您的阅读-------------
0%