摘要:
原文: http://cwbuecheler.com/web/tutorials/2013/node-express-mongo/ 原文的源代码在此 太多的教程教你些一个Hello, World!了, 但是仅凭Hello, World! 是找不到工作的, 因此有了这篇教程. PART I – 安装开 阅读全文
摘要:
定义schema 用mongoose的第一件事情就应该是定义schema. schema是什么呢? 它类似于关系数据库的表结构. 创建model 格式是mongoose.model(modelName, schema); 实例化方法 model的实例是document. document有许多内置的 阅读全文
摘要:
MongoDB没有join, 但是有的时候我们需要引用其它collection的documents, 这个时候就需要populate了. 我们可以populate单个document, 多个document, plain object, multiple plain objects或query返回的 阅读全文
摘要:
使用mongoose.connect()方法创建连接 上面的代码是通过默认端口27017链接到mongodb的myapp数据库.我们还可以给url设定一些特定的参数: Options connect方法可以接受一个options对象 下面是options的键 db - 设置连接哪个数据库 serve 阅读全文
摘要:
原文: http://blog.risingstack.com/node-js-best-practices/ 下面的的最佳实践分为代码风格和开发工作流两种. 代码风格 Callback约定 Modules应该暴露出一个以error为第一个参数的callback接口. 如下: 总是在callback 阅读全文
摘要:
Schema支持插件, 这样你就可以扩展一些额功能了 下面的例子是当document save的时候自定更新最后修改日期的出插件 阅读全文
摘要:
中间件是一些函数, 当document发生init, validate, save和remove方法的时候中间件发生. 中间件都是document级别的不是model级别的. 下面讲讲两种中间件pre和post pre 一共有两种pre中间件serial和parallel 发生在被附挂方法之前 se 阅读全文
摘要:
开始前记住下面几点 Validation定义在SchemaType中 Validation是一个内部的中间件 当document要save前会发生验证 验证不会发生在空值上 除非对应的字段加上了 required validator 可以自定义验证器 内置的验证器 所有的SchemaType都有re 阅读全文
摘要:
查询有带callback和不带callback两种方式 所有mongoose的callback都是这种格式: callback(err, result) 看看不带callback怎么查询 Query实例能使我们构造自己的查询 阅读全文
摘要:
更新 有几种方式更新document. 先看一下传统的更新方法 上面的代码是先查找出一个document然后在更新. 如果我们不想查找document想直接更新呢? 如果想更新完后返回document呢? 阅读全文