nodejs中mongoose object 字段的增删改查

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)

时间: 2024-09-02 06:10:15

nodejs中mongoose object 字段的增删改查的相关文章

php中操作memcached缓存进行增删改查数据的实现代码_php技巧

核心代码: <?php //创建一个memcache对象实例 $memcache = new Memcache; if(!$memcache->connect("127.0.0.1",11211)){ die('连接失败'); } if($memcache->set('key1',"xian",MEMCACHE_COMPRESSED,60)){ echo 'sucess!'; }//存值,其中xian字符串,也可以为数组,对象,但不能为资源 $va

表附加字段 还有对表字段的增删改查

问题描述 Table的增強主要两种.一种是AppendStructure,还有一种就是Include形式我现在想用Include格式自定义为SPFLI表增加5个字段将表SPFLI附加5个字段(任意定义),并复制为自定义的客户化表:将SPFLI中的数据通过程序的方法复制到自己建立的客户化表:编写一个交互程序(dialog),实现对客户化表中所有字段的查询(筛选).修改.新增和删除操作(注:1查询字段可只设置少数几个:2定义查询.新增.删除3个按钮,分别对应不同功能:3使用工具栏的保存按钮保存数据

谁做过 在webform中treeview绑定xml实现增删改查

问题描述 我想在webform中treeview绑定xml实现点击某一个接点弹出删除,修改,添加的功能,实现无级分类.我最开始用的是数据库+gridview,但是我觉得这样会增加数据库的负担,不好.我对xml不了解.还请大侠们帮帮忙啊!最好发源代码daichun39@126.com,谢谢! 解决方案 解决方案二:http://www.cnblogs.com/YamatAmain/archive/2011/08/31/2160375.html解决方案三:不要沉水啊解决方案四:asp.netwebf

详解Nodejs基于mongoose模块的增删改查的操作_node.js

MongoDB MongoDB是基于Javascript语言的数据库,存储格式是JSON,而Node也是基于JavaScript的环境(库),所以node和mongoDB的搭配能减少因为数据转换带来的时间空间开销. Mongoose 是MongoDB的一个对象模型工具,它将数据库中的数据转换为JavaScript对象以供你在应用中使用,封装了MongoDB对文档的的一些增删改查等常用方法,让NodeJS操作Mongodb数据库变得更加灵活简单. 安装模块mongoose npm install

新手急求hibernate中的表有两字段生成的po的增删改查。

问题描述 我刚接触hebernate,有一个有两个列的复合主键,这个表生成了po,能用hibernate提供的方法进行增删改查吗?需要做哪些修改?希望各位大侠能回答我.小妹这厢有礼了. 解决方案 解决方案二:是可以的.这个是我搜索出来的一篇文章可以帮你解惑http://www.blogjava.net/alex/archive/2006/11/09/80231.html

php中PDO方式实现数据库的增删改查

  PDO是mysql数据库操作的一个公用类了,我们不需要进行自定类就可以直接使用pdo来操作数据库了,但是在php默认配置中pdo是未开启所以我们必须先在php.ini中开启它才可以使用. 需要开启php的pdo支持,php5.1以上版本支持 实现数据库连接单例化,有三要素 静态变量.静态实例化方法.私有构造函数 DPDO.php ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

C#在winform中实现数据增删改查等功能_C#教程

winform中利用ado.net实现对单表的增删改查的详细例子,具体如下: 1.前言: 运行环境:VS2013+SQL2008+Windows10 程序界面预览: 使用的主要控件:dataGridview和menuStrip等.  2.功能具体介绍: 1.首先,我们要先实现基本的数据操作,增删改查这几个操作. (1)先定义一个数据库操作的公共类: using System; using System.Collections.Generic; using System.Linq; using S

nodejs连接mongodb数据库实现增删改查_node.js

准备 1.通过npm命令安装mongodb 2.安装mongodb数据库,这里不详细介绍了,安装网址:http://www.jb51.net/article/82522.htm CRUD操作 在此之前应对MongoDB数据库有所了解,知道它的一些增删查改命令. 1.增加 var MongoClient = require("mongodb").MongoClient; var DB_URL = "mongodb://localhost:27017/chm"; fun

Oracle对字段的增删改方法分享_oracle

Oracle是目前最流行的数据库之一,功能强大,性能卓越,相对的学习的难度还是不小.本文就是将自己的一些经验总结分享给大家,做个积累,方便自己和其他的学习者. 修改字段类型或者长度: alter table 表名 modify 字段名 字段类型 (字段长度) 例:  alter table table_name modify column_name varchar (10); 此为标准SQL,对任何数据库都适用  修改字段名: alter table 表名 rename column 旧字段名