nodejs中mongoose object 字段的增删改查

作者:简简单单 2015-04-15


1、引子
mongoose的schema支持Object格式的数据,常常一堆可能不定的元数据或者配置信息放在该字段里。如用户表有3个字段:

email:用户邮箱

password:用户密码

meta:用户元信息,因为目前不定,就定义类型为Object,可以放用户昵称、年龄、QQ号、登录注册时间等等

要操作meta字段就设计到该字段的增删改查了,而不是整个文档的增删改查,因此就这个需求,写了个小model(mongoose-objectpath)专门来处理这个字段的增删改查。

2、模块API
2.1、初始化

使用方法也很简单:

var mongooseObjectPath = require('mongoose-objectpath');
 
// 定义好 Schema 后
 
mongooseObjectPath(Schema, 'meta');

如上初始化完成后,会在Schema对象上添加3个静态方法:

setMeta:获取数据
getMeat:设置数据
removeMeta:删除数据

可能你注意到了,如果字段名称为config,那么对象的方法名称就是setConfig/getConfig/removeConfig。

2.2、setMeta

Model.setMeta(conditions, key, value, callback)
Model.setMeta(conditions, {
    key1: value1,
    key2: value2,
}, callback)
2.3、getMeta

Model.getMeta(conditions, key, callback)
Model.getMeta(conditions, [key1, key2], callback)
2.4、removeMeta

Model.removeMeta(conditions, key, callback)
Model.removeMeta(conditions, [key1, key2], callback)

相关文章

精彩推荐