nodejs简单高效,和同样强调高性能、可扩展的mongodb可以说是绝配。在nodejs中使用mongodb的通常方法是使用node-mongodb-native。node-mongodb-native给人的感觉是规整成熟,但是有点不符合javascript的风格,对于一般的小应用来说也有些笨重的感觉。我对它并不满意。
好在有伟大的github,在上面有不少node-mongodb-native的替代品。从众多候选者中我选择了mongous。它的特点正像它描述中说的那样,是simple和jQuery like – 这两个是非常吸引我的特征:)
详细的使用方法还是直接看mongous的文档比较好。 在我的实际使用过程中觉得非常方便,和mongous相关的代码量比node-mongodb-native少很多,思维方法直接很多,所以推荐给大家。
在使用过程中我也根据自己的需求为mongous贡献了一些代码,希望大家都来用,一起完善它:)
刚才看了一下,mongoskin,mongoose和mongous没有什么可比性。
mongoskin和mongoos都使用的是node-mongodb-native作为连接mongodb的驱动。它们是在node-mongodb-native的基础上加了一层,mongoos是加了一层ORM的框架,mongoskin则是让用户访问mongodb更接近mongo shell的语法(并额外提供了一些功能)。
而mongous本身就是一个mongodb驱动,它和node-mongodb-native是同一个级别的东西。毫无疑问node-mongodb-native更强大和成熟,但就我个人使用来看mongous更加轻量灵活,并且已经完全满足我的要求了。
@suqian 集群方式指的是http://www.tech126.com/mongodb-sharding-cluster/这篇文章说的方法吗?从这篇文章来看,配置好mongo,似乎不需要驱动做什么额外的工作。访问mongo的时候访问route server就可以了。
从实用的角度来看,这几个东西只学一个就可以了,应该都可以满足需求,看哪个顺眼就用哪个:)
学的过程就是跟着模块提供的例子试着存取一下数据,如果有更复杂的需求看看mongodb的文档(比如这里)。mongodb的驱动的api都在尽量追求简洁,都不难学。
@suqian mongous不支持同时连接多个route server并进行负载均衡。这个mongodb确实也不支持,需要自己写。
我个人还没有遇到过需要处理这么大数据量的情况,以后如果有需要的话会给mongous加上这个功能。也希望别人能为mongous贡献代码:)