Mongoose使用小结
Preview
(张兄让我写一点收获,没办法,就写一点吧
Wrting..
暑假前的iOS俱乐部举行了一次夏令营,收获还是有的,认识了很多本校的学弟学妹,不过认识了几位有想法,有自己作品的朋友,在一起交流了很久,感觉大家虽然目的不同,但是走的路,挖的坑都是惊人的相似。但是大多数人都是来『玩』的,包括老师。期间一直在被很多小白叫大神,说实话我心里是极不舒服的。因为我本身就是个小白,是来系统、基础的学习一些平时途径学不到的东西的,本来是来学习交流的,结果变成来装X和开着热点自学的了。这些老师互相吹逼,我问了所谓技术大牛的老师一个reactnative的问题,他居然说完全不了解,好不容易上了一节关于技术的课,却又只涉及纯理论和大量的假设和推理。。宿舍WiFi超级差,又不稳定,最后老师干脆就不管了,66666
Example
This is mongodb + nodejs, a universal backend, just tested for some showing demo..(火车上写的一点东西。。
NoSQL
MongoDB作为一个nosql型数据库,在数据模型使用方面,必须摆脱sql那种链式储存的思维。使用起来更加的自由,特别是JSON与JavaScript对象类型的亲和度非常高,使用时会让你更加的得心应手,而不是需要死记sql语句。一个储存对象就是JSONtree一个分支,可以无限延伸,因此可以存储相当复杂的树数据。
|
|
mongoose.js? mongodb.js?
Mongoose作为mongodb-node的一个封装API库,相比于mongo.js来说,它使用了Scheme来作为mongodb的collection的「骨架」,对于骨架具体化的model进行操作。而mongodb.js还是一样使用语句进行操作,这样可能会导致更多的代码,更多的错误。
Quick Start
先假设情景,我需要一个用户模型,用于注册,登陆,储存用户ID(userid)和名字(name)
intialize
数据库初始化代码 db_init.js
|
|
这段代码做了啥?首先引入mongoose模块,连接本地名为db_test的mongodb数据库(没有的话会自动创建),然后监听错误和开启事件,之后新建了一个user模型userSchema,最后把这个模型注册给名称为’user’的collection。
common method
其他方法 db.js
|
|
user注册完毕后,取出已注册的user模型(未注册会报错),然后实例化user,调用模型的save方法,就能直接储存。也能直接传入参数save,等价于
删除方法通常配合查询方法,这里只是简单涉及,具体查阅相关资料。
修改方法也配合查询方法,直接修改对象属性然后调用save即可,相当于mongodb语法里的$set(如果没记错的话)