MongoDB 👡

由于刚入手MongoDB,所以就在自己的机器上安装MongoDB,之前mongodb更改了开源协议,brew已经移除了mongodb的源,mongodb官方自己维护了一个brew的源

安装

官方源仓库

执行下面的命令安装mongodb社区版

brew tap mongodb/brew
brew install mongodb-community

安装过程中的日志告诉我,mongodb的配置文件的路径为/usr/local/etc/mongod.conf,打开这个配置文件发现只有下面👇的内容:

systemLog:
  destination: file
  path: /usr/local/var/log/mongodb/mongo.log
  logAppend: true
storage:
  dbPath: /usr/local/var/mongodb
net:
  bindIp: 127.0.0.1

并没有包含默认的用户名和密码,如果要启动mongodb数据库,有两种方法,通过brew services start mongodb/brew/mongodb-community可以让mongodb数据库在后台运行(可以关闭终端界面),通过mongod --config /usr/local/etc/mongod.conf保持mongodb在前台运行.

对比关系型数据库,我很好奇MongoDB有没有存储过程、触发器、事务这些东西,之前就听闻mongodb使用的是json格式的文件,这似乎和我的js很搭

Nodejs

使用nodejs连接mongodb,首先得安装nodejs驱动,我使用的包管理工具是yarn,需要安装mongodb这个依赖

yarn add mongodb --dev

mongodb默认的端口号为27017,连接uri为mongo "mongodb://mongodb0.example.com:27017",在上面的配置文件中,我们绑定的ip为127.0.0.1,所以连接命令为:

mongo 'mongodb://127.0.0.1:27017'

更多细节,可以查阅官方提供的手册

在mongodb中的CRUD操作(CREATEREADUPDATEDELETE)

shell操作

首先我们先看看有哪些数据库,通过命令db查看,

> db
test
>

这里显示有一个test的数据库,看看这个数据库里面的数据可以通过下面的格式查看db.collection.find(),所以我们通过db.test.find()来查看

crud-annotated-mongodb-insertOne.bakedsvg.svg
这里借用一些官方的图片来说明操作的细节

除了curd操作以外,MongoDB也有很多特性

👏 怎么样,给个评价呗?