初始MongoDB

258 阅读2分钟

什么是MongoDB

MongoDB 是面向文档的NoSQL数据库,用于大量数据存储

MongoDB概念解析

SQL术语/概念MongoDB术语/概念解释/说明
datebasedatabase数据库
tablecollection数据库表/集合
rowdocument数据记录行/文档
columnfield数据字段/域
indexindex索引
table joins表连接,MongoDB不支持
primary keyprimary key主键,MongoDB自动将_id字段设置为主键

Install In Mac

  1. 官网上直接可以下载社区版本 download,是免费的,下载之后解压,文件命名为mongodb,放在/usr/local目录里面;
  2. 安装路径:/usr/local/mongodb/bin
  3. 保存数据库目录(这里是自己选择的目录)

配置环境变量

  1. 如果使用的是:item2 + oh-my-zsh
// 输入命令:vim ~/.zshrc
export PATH=${PATH}:/usr/local/mongodb/bin

// 保存之后执行:source ~/.zshrc

  1. 如果使用的是bash_profile
// 输入命令: vim .bash_profile
 export PATH=${PATH}:/usr/local/mongodb/bin
// 保存之后执行:source ~/.bash_profile

启用

  1. 配置了环境变量的,命令行直接输入:mongod --dbpath 数据库目录
  2. 没有配置的话,就需要到安装目录的bin目录下面,然后在输入上面命令就能正常启动

验证是否可以使用

mongod -version

启动遇到的问题

  1. 无法打开“mongod”,因为无法验证开发者。

需要在“系统偏好设置”-> "安全性与隐私" -> "通用" -> 设置允许

  1. 启动服务日志中如果含有Address already in user,即是端口占用问题
// 查看占用端口的进程
lsof -i :27017
// 杀死此进程
kill -9 PID(存在的进程PID)

客户端软件(Robo 3T)

  1. 下载地址

Node项目中使用MongoDB数据库

  1. 安装模块:npm install mongoose --save
  2. usage
// mongoose 是 mongoDB 的一个对象模型工具,是基于Node-MongoDB-Native开发的MongoDB的Node.js驱动,可以在Node.js异步环境下执行。
const mongoose = require('mongoose');

// mongodb://user:pass@ip:port/database
// user 是MongoDB里的用户名
// pass是MongoDB里该用户对应的密码
// ip 是 MongoDB服务器可以访问的IP地址,比如本地IP地址为127.0.0.1
// port是 MongoDB服务器可以访问的端口,默认是27017


// 建立数据库连接
// mongodb:连接的数据库类型
// 127.0.0.1:27017: 本地数据库地址
// db_hello: 数据库名字
mongoose.connect('mongodb://127.0.0.1:27017/db_hello');

mongoose.connection.on("error", function(error) {
  console.log("数据库连接失败:" + error);
})

mongoose.connection.on("open", function() {
  console.log("数据库连接成功")
})



// 通过 mongoose.model 定义模型
const Cat = Mongoose.model("Cat", { name: String});

// 通过关键字 new 实例化 Cat 模型, 参数是 { name: "small cat"}, 创建 kitty 对象
const kitty = new Cat({ name: "small cat"});

// 执行 kitty.save, 将模型数据保存到数据库
kitty.save(function(error) {
  if (error) {
    console.log("save error:" + error);
  }
  console.log("save success");
})