mongodb与mongoose
安装
brew install mongodb
下载安装很简单,不多说,但如果下载源是官网的话会慢很多甚至下载不成功,所以我去修改了我的homebrew源,使用的中科大镜像源。
启动运行mongodb
刚开始如果直接在终端mongod的话基本都会报错,原因是没有找到data/db这个文件,因为默认文件路径是这个,所以我们要移动到系统根目录下cd /
然后创建文件mkdir -p data/db
,但是还不够,我们要添加环境变量这让我们在终端的任何地方都可以使用mongod的命令行: vim ~/.zshrc
因为我是zsh用户,所以直接编辑zshrc文件,在里面添加export PATH=/usr/local/mongodb/bin:$PATH
保存退出就好,最后记得source ~/.zshrc
一下,然后就可以启动我们的mongodb了
1 | ~ mongod |
当出现2019-08-07T19:31:13.522+0800 I NETWORK [initandlisten] waiting for connections on port 27017
就代表启动成功了,并且可以在本地的27017端口访问到我们的数据库。
一些常用的mongodb命令
在终端mongo后就实现了本地与数据库的连接
1 | > use mylab |
这些事创建数据库的方法,在终端上操作,对于数据库中数据的操作我们可以在mongoose中实现
mongoose
mongoose是可以让node.js操作mongodb的插件。
安装
yarn add mongoose
1.定义架构
mongoose所有的内容都从Schema开头,相当于定义了一个模式:
1 | var mongoose = require('mongoose'); |
这是我定义的一个users的模版,首先引入mongoose,然后定义一个mongoose.Schema
对象,其中定义了user的数据模型,比如有name是一个String,email也是一个string,然后required:true
表示用来验证,这里我直接都给true,然后需要导出模块,导出时需要的是一个model对象,名字为Users,然后使用刚刚创建的Schema。
2.本地连接数据库
本地连接很简单,一个固定格式mongodb://localhost/dbname
,然后需要安装mongoose的依赖,然后在app.js中引入,连接数据库的函数mongoose.connect
我在使用的时候promise一下,在console会返回一个状态,如果失败则抛出异常:
1 | var mongoose = require('mongoose'); |
3.使用数据模型
由于我们在导出了我们的数据模型模块Users,我们在使用数据模型时只需要引入即可
var User = require('../module/Users');