下载
可以直接到mongoDB官网下载安装包。
我们公司对软件安装有限制,没有管理员权限。所以我下载的免安装的,解压即用的mongo
$ sudo curl -O https://fastdl.mongodb.org/osx/mongodb-macos-x86_64-4.4.2.tgz #下载
$ sudo tar -zxvf mongodb-osx-ssl-x86_64-4.4.2.tgz # 解压
安装&配置
- 对于
tgz
文件,直接拷贝到全局目录/usr/local/
,然后配置环境变量即可。建议将文件夹命名为mongodb
。 /usr/local
为隐藏目录,正常在finder
中是看不到的,需要在finder
中按shift + command +G
输入/usr/local
并点击前往。
命令行操作如下:
# 安装(copy)
$ sudo cp -r mongodb-osx-x86_64-4.4.2/ /usr/local/
$ sudo mv mongodb-osx-x86_64-4.4.2/ mongodb
# 配置环境变量
$ vi ~/.bash_profile # 增加: export PATH=$PATH:/usr/local/mongodb/bin
$ source .bash_profile
不幸的是,我们公司系统有管理员权限控制,是无法使用全局目录/usr/local/
的。所以,我使用的自己的工作目录:
# 安装(copy)
$ sudo cp -r mongodb-osx-x86_64-4.4.2/ /Users/myself
$ sudo mv mongodb-osx-x86_64-4.4.2/ mongodb
# 配置环境变量
$ vi ~/.bash_profile # 增加: export PATH=$PATH:/Users/myself /mongodb/bin
$ source .bash_profile
验证安装是否ok:
$ mongod -version # 正常打印出mongo版本信息,即安装生效。
启动mongodb
启动之前,我们需要创建db
(数据存储)和logs
(日志文件)的文件夹。可以直接创建在安装的mongodb
目录,也可以放到单独的目录。
$ cd /Users/myself
$ mkdir mongoData # 创建单独目录
$ cd mongoData
$ mkdir db
$ mkdir logs
启动mongodb
# 常用命令
$ mongod --dbpath data --logpath logs/m.log --logappend
# --dbpath 指定数据文件夹
# --logpath 指定日志存储文件
# --logappend 后台运行
明显的,启动mongodb
是有一系列配置的。所以,通常我们会设置一个单独的配置文件,根据配置文件来启动mongodb
。
$ cd /User/myself/mongoData
$ vi m.conf # 增加配置文件
# 常用配置如下:
bind_ip_all = true # 任何机器可以连接
#bind_ip = 127.0.0.1,192.168.0.3 # 本机和192.168.0.3可以访问
port = 27017 # 实例运行在27017端口(默认)
dbpath = /Users/myself/mongoData/db # 数据文件夹存放地址(db要预先创建)
logpath = /Users/myself/mongoData/logs/m.log # 日志文件地址
logappend = false # 启动时 添加还是重写日志文件
fork = true # 是否后台运行
#auth = true # 开启校验用户
# 启动mongodb
$ mongod -f m.conf
如果没有什么报错信息,基本上mongodb已经启动
连接mongodb
在新的终端中输入”mongo” 连接数据库,如果出现数据库操作符>
, 那么恭喜你,可以使用mongodb
了。
$ mongo
MongoDB shell version v4.4.2
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("92e4a9f7-b622-4a1a-9de1-df4cc8e1b581") }
MongoDB server version: 4.4.2
# ...略
> 1+1
2
>
Nodejs + mongodb
在Node
项目中,我们可以使用Mongoose
库来连接和使用mongodb
。Mongoose
是在node.js
异步环境下对mongodb
进行便捷操作的对象模型工具。
const mongoose = require('mongoose'),
/**
* 连接
*/
mongoose.connect('mongodb://127.0.0.1:27017/test', { useNewUrlParser: true });
/**
* 连接成功
*/
mongoose.connection.on('connected', function () {
console.log('Mongoose connection open to ' + DB_URL);
});
/**
* 连接异常
*/
mongoose.connection.on('error',function (err) {
console.log('Mongoose connection error: ' + err);
});
/**
* 连接断开
*/
mongoose.connection.on('disconnected', function () {
console.log('Mongoose connection disconnected');
});
具体数据库操作,可参考mongoose官方文档。