安装
mongodb在linux下安装不太复杂,这里仅仅说非常常见的ubuntu安装。
1 | sudo apt-get install mongodb |
如果是OSX,那么使用brew:
1 | brew install mongodb |
运行服务端
运行命令 mongod
即可将mongod服务端运行起来。这里有两个非常有用的参数需要注意:
1.认证参数: –auth
2.数据库参数:–dbpath
先来看看加上这两个参数后的命令:
1 | mongod --auth --dbpath ~/workStation/mongodb/learnNode |
这里要说明两点:
如果没有
--auth
,那么数据库是不会认证用户,也就是说可以直接登录CURD而不验证操作者身份。通常本地开发会这样使用,但是个人建议,即使本地开发,最好也不要省略这个步骤,毕竟个人认为,贪图这点方便没有必要。如果没有
--dbpath
这个属性,那么mongoDB会使用默认的路径:/data/db
。新安装的mongoDB第一次报错往往就是没有加上--dbpath
这个参数,导致在/data/db不存在和没有读写权限时候就会导致报错。
如果确实不想指定数据库路径,那么解决办法是:
1 | mkdir -p /data/db |
客户端连接
如果是本地直接通过 mongod
跑起来的服务端,那么只需要运行 mongo
即可连上数据库。
但是如果是需要认证的服务器,那么需要使用如下命令:
1 | mongo <dbhost>:<port>/<dbname> -u <username> -p <pwd> |
这里需要注意的是 尖括号加字符代表是变量,使用时尖括号都是没有的
Collection中数据的CURD
这里应该是最重要的一部分了。CURD是最基础也是数据库操作最重要的一部分。
为了演示如何CURD,熟悉mysql等关系数据库的,你默认这里有一个user的表好了,其实它就是mongoDB里面的collection。同时这里默认你已经在mongoDB的shell里面了。
C-Create 创建
先把万年龙套张三弄进来:
1 | zhangsan = {name:"张三",age:24}; |
R-read 查询插入结果
现在看看插入成功没有:
运行查询命令
1 | db.user.find({name:"张三"}}); |
U-update 更新
为了演示这个,那么我就假装写错了张三名字,改成18吧…
1 | zhangsan = {name:"张三",age:18}; |
恩,请忽略我打错逗号的报错。。。
D-delete 删除
删除和插入类似,这里就不截图了。
1 | db.user.remove({name:"张三",age:24}); |
管理数据库中Collection(CURD)
每个Collection都类似SQL数据库中的一张表,所以除了表中的数据CURD,表本身的操作也非常重要。
删除Collection(D)
这里删除user
1 | db.user.remove(); //删除user内部记录 |
新建Collection(C)
新建一个,把删掉的重新建立回来…
1 | db.createCollection("user") |
查看Collection列表(R)
1 | show collections; |
修改Collection(U)
把user改成复数形式好了:
1 | db.user.renameCollection("users") |
这里需要说明的是,在mySQL里面的修改表还涉及到修改表结构这个修改,但是NoSQL数据库不存在这个说法,因为『NoSQL』;