apiCloud中的数据库操作mcm-js-sdk的使用
1.引入js <!-- 引入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 本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/5917512.html,如需转载请自行联系原作者