apiCloud中的数据库操作mcm-js-sdk的使用
2016-09-28 18:17
295 查看
1.引入js
2.生成对象
3.获取数据get
4.添加保存数据save
5.删除对象delete
6.批量操作
7.操作符
push,pushAll,pull,pullAll略。
8.字段过滤
9.条数过滤(Limit filter)
10.排序(Order filter)
11.跳过(Skip filter)
12.条件过滤(Where filter)
更多内容参考官网 http://docs.apicloud.com/Cloud-API/data-cloud-api
<!-- 引入mcm-js-sdk Begin --> <script type="text/javascript" src="../plugin/mcm-js-sdk/APICloud-rest-SHA1.js"></script> <script type="text/javascript" src="../plugin/mcm-js-sdk/APICloud-rest.js"></script> <script type="text/javascript" src="../plugin/mcm-js-sdk/SHA1.js"></script> <!-- 引入mcm-js-sdk END -->
2.生成对象
var client = new Resource("xxx", "xxx"); var Model = client.Factory("user");
3.获取数据get
Model.get({"_id": '57eb89ad074073e11321e0d3'}, function (ret,err) { alert("Model get:"+JSON.stringify(ret)); });
4.添加保存数据save
Model.save({ "username": "xiaoming", "password": "123456", "email": "xiaoming@126.com" }, function(ret,err){ if(err){ alert(JSON.stringify(ret)); }else{ alert(JSON.stringify(ret)); } })
Model.save({"_id":"57ec73e87813d7a36cc9d9ec"},{"username":"Dongcheng"}, function(ret,err){ if(err){ alert(JSON.stringify(err)); }else{ alert(JSON.stringify(ret)); } })
5.删除对象delete
Model.delete({"_id":"57ec73e87813d7a36cc9d9ec"},function(ret,err){ if(err){ alert(JSON.stringify(err)); }else{ alert(JSON.stringify(ret)); } })
6.批量操作
var client = new Resource("xxx", "xxx"); client.batch([ { "method": "POST", "path": "/mcm/api/user", "body": { "username": "user1", "password": "123456" } }, { "method": "POST", "path": "/mcm/api/user", "body": { "username": "user2", "password": "123456" } } ], function(ret,err){ if(err){ alert(JSON.stringify(err)); }else{ alert(JSON.stringify(ret)); } })
7.操作符
名称 说明 $inc 增加字段的值指定的数量 $mul 增加字段的值乘以指定的数量 $set 在文档中设置一个字段的值。 $min 仅更新字段如果指定的值小于现有的字段值。 $max 仅更新字段如果指定的值大于现有的字段值。 $push 增加一个项到数组的尾部 $pushAll增加多个项到数组的尾 $pull 删除一个项从数组当中 $pullAll删除多个项从数组中
inc
Model.save({"_id":"57eb82c5abca25f4649f1d22"},{"$inc": { money: +10},"username":"jack"}, function(ret,err){ // 指定值增加10 if(err){ alert(JSON.stringify(err)); }else{ alert(JSON.stringify(ret)); } })
mul
Model.save({"_id":"57eb82c5abca25f4649f1d22"},{"$mul": { money:1.25},"username":"jack"}, function(ret,err){ // 指定乘以1.25 if(err){ alert(JSON.stringify(err)); }else{ alert(JSON.stringify(ret)); } })
set 复制设置
Model.save({"_id":"57eb82c5abca25f4649f1d22"},{ "$set": { username: "xi", details: { model: "14Q3", make: "xyz" }, tags: [ "coats", "outerwear", "clothing" ] } }, function(ret,err){ if(err){ alert(JSON.stringify(err)); }else{ alert(JSON.stringify(ret)); } })
min 操作符更新字段的值为一个指定的值,如果指定的值小于指定字段的当前值
Model.save({"_id":"57eb82c5abca25f4649f1d22"},{"$min": { "money": 10 }}, function(ret,err){ if(err){ alert(JSON.stringify(err)); }else{ alert(JSON.stringify(ret)); } })
max操作符更新字段的值指定的值,如果指定的值大于字段的当前值
Model.save({"_id":"57eb82c5abca25f4649f1d22"},{"$max": { "money": 150 }}, function(ret,err){ // 指定的值为150 if(err){ alert(JSON.stringify(err)); }else{ alert(JSON.stringify(ret)); } })
push,pushAll,pull,pullAll略。
8.字段过滤
Model.query({ filter:{ fields:{"username": true, "email": true}//或者["username","email"] } }, function(ret,err){ if(err){ alert(JSON.stringify(err)); }else{ alert(JSON.stringify(ret)); } })
9.条数过滤(Limit filter)
Model.query({ filter:{ limit:2, fields:{"username": true, "email": true}//或者["username","email"] } }, function(ret,err){ if(err){ alert(JSON.stringify(err)); }else{ alert(JSON.stringify(ret)); } })
10.排序(Order filter)
Model.query({ filter:{ "order": "money DESC", limit:2, fields:{"username": true, "email": true ,"money":true}//或者["username","email"] } }, function(ret,err){ if(err){ alert(JSON.stringify(err)); }else{ alert(JSON.stringify(ret)); } })
11.跳过(Skip filter)
Model.query({ filter:{ "skip":3, "order": "money ASC", limit:2, fields:{"username": true, "email": true ,"money":true}//或者["username","email"] } }, function(ret,err){ if(err){ alert(JSON.stringify(err)); }else{ alert(JSON.stringify(ret)); } })
12.条件过滤(Where filter)
操作符 说明 and 逻辑与 or 逻辑或 gt,gte 大于(>),大于或等于(> =)。只有效数值和日期值 lt,lte 小于(<),小于或等于(< =)。只有效数值和日期值 between 在…之间 inq,nin 在/不在一个数组之内 near 地理位置,返回最接近点,按距离的顺序排序 ne 不等于(!=) like,nlike like/not like 操作符返回符合正则表达式的数据
Model.query({ filter:{ "where":{"money":"150"} } }, function(ret,err){ if(err){ alert(JSON.stringify(err)); }else{ alert(JSON.stringify(ret)); } });
Model.query({ filter:{ "where":{ "money":{"gt":100} } } }, function(ret,err){ if(err){ alert(JSON.stringify(err)); }else{ alert(JSON.stringify(ret)); } });
Model.query({ filter:{ "where": { "and": [ {"username": "xi"}, {"money":{"gt":100}} ] } } }, function(ret,err){ if(err){ alert(JSON.stringify(err)); }else{ alert(JSON.stringify(ret)); } })
更多内容参考官网 http://docs.apicloud.com/Cloud-API/data-cloud-api
相关文章推荐
- JS 使用odbc操作数据库
- apiCloud中的数据库操作mcm模块中的model对象
- apiCloud中的数据库操作mcm模块中的user对象
- mongod使用js脚本对数据库进行操作
- 微信 js-sdk 界面操作接口使用
- 使用node.js中的async模块进行数据库的同步操作
- [MySQL]VC++使用MySQL的SDK操作数据库
- 使用XML封装数据库操作语句的实现(zz)
- 使用存储过程进行数据库操作
- 使用Rman的Plus archvielog选项简化数据库备份操作
- 单独使用MFC CRecord类进行数据库操作(原创心得)
- 使用组件封装数据库操作(一)
- jsp中,使用js生成动态的数据库相关的二级联动下拉框
- 使用ADO操作数据库时一个好用的VARIANT类!
- C#中数据库操作相关我给整理的一个类供大家使用完善
- 使用.net操作pcc的个人数据库代码
- 使用JDOM操作XML系列----从数据库中读取记录集到层叠式XML文
- 使用存储过程进行数据库操作
- 使用ADO操作SQL SERVER 通过'OLE DB 访问 ACCESS 数据库 ,实现数据交换
- Beehive数据库操作使用示例