Good,True and Beautiful

Good Good Study, Day Day Up

导航

mongoosejs model mapping to collection name

mongoosejs 是一个对象模型工具,将mongodb的collection中的Document映射为Model

典型用法如下

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var analysisSchema = new Schema({
	"method": String,
	"name": String,
	"scenario": Schema.Types.Mixed,
	"tree_id": String
});

var analysisModel = mongoose.model('Analysis', analysisSchema);

那么mongoosejs的model名字和mongodb中的collection名字是如何对应的呢 ?

参见代码 node_modules/mongoose/lib/utils.js 中的 toCollectionName 方法

默认情况下: mongoosejs options的 pluralization 为 true, 这个时候
mongoosejs 将使用 utils 中的 pluralize 方法 将 model名转化为 collection名

pluralization 为 false 的时候,collection的名字将和model名字相同

pluralize 转换规则特别神奇,主要有转换为小写, 名词是否可数,单复数形式等, 采用了正则等检测方法.
比如 上面例子的 Analysis 对应的 collection名字为 analyses

posted on 2015-07-03 23:53  Simple Love  阅读(234)  评论(0编辑  收藏  举报