关于mongoose
相关概念:
1 | Schema : 一种以文件形式存储的数据库模型骨架,不具备数据库的操作能力,他的存在相当于Mysql里面的表的字段设计。 |
关系
Schema生成Model,Model创造Entity,Model和Entity都可对数据库操作造成影响,但Model比Entity更具操作性。
mongoose初步使用
用mongoose连接数据库
连接用的代码:
1 | var mongoose = require('mongoose'); |
这里需要说明的是,schema规定了数据的类型,实际上它也可以规定数据的范围。但是这里需要注意的这里不需要指定数据字的字段大小(field sizes),mongoDB设定的最大大小是16MB,基本上够你放下几部长篇小说了。
查找数据
在express里面实践一番,设定一个路由:
1 | router.get('/user', function(req, res, next) { |
结果如图:
保存数据
同上,设定路由和相关逻辑:
1 | router.get('/saveUser', function(req, res, next) { |
如图:
重新访问 /user
,结果添加了一条,保存成功:
;
更新数据
这里就不写详细逻辑了,仅仅用get请求传个age数字回来,更改wangwu的age值:
这里用到了findOneAndUpdate方法,其实也就是对 Entity
进行操作————因为毕竟改动的是一条数据
1 | router.get('/updateUser', function(req, res, next) { |
恩,接下来开始传值,浏览器直接输入 http://localhost:3000/updateUser?age=25
,然后访问http://localhost:3000/user
,结果如图:
删除操作
删除操作使用remove:
1 | router.get('/deleteUser', function(req, res, next) { |
访问http://localhost:3000/deleteUser?name=wangwu
,然后然后访问http://localhost:3000/user
,如果不报错,可以看到wangwu的记录已经被删除了。