MongoDB

本文最后更新于:2022年7月25日 上午

NoSQL

非关系型数据库

  • 易拓展,高性能,高复用
  • key-value
  • 无事务特性要求ACID(原子性,一致性,隔离性,持久型)

docker安装

NoSQL设计

内嵌设计

关联数据用数组存储

{
  "username": "Mark",
  "roles" : ["admin","user"]
}
  • 减少关联查询
  • 适合单类需要描述的属性
  • 不经常变化的属性

父/子引用

一对多的数据映射

{
  "uid":"xkasubdkhabcfkhafw",
  "comment":[
    "commentid1",
    "commentid2",
    "commentid3",
  ]
}
  • 引用大量数据
  • 数据是否需要单独访问

    反范式

  • 考虑读写比

MongoDB

🚀docker镜像

docker pull mongo

备份/恢复

mongodump -h <host> -u <user> -p <password> -d <selected database> -o <output path>

mongorestore -h <host> -u <user> -p <password> -d <selected database> --dir <backup path>

# 拷贝出容器
docker cp
# 挂载进容器
docker

Mongoose

https://mongoosejs.com/docs/
基于ModelScheme操作mongodb的Collection

连接到db

const mongoose = require('mongoose')

mongoose.connect('mongodb://{user}:{password}@{host}:{port}/{db}',{
  useNewUrlParser: true,
  useUnifiedTopology: true
})

MongoDB
http://yoursite.com/2022/07/14/mongodb/
作者
tatekii
发布于
2022年7月14日
许可协议