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

原文地址:https://www.cnblogs.com/jiqing9006/p/5917512.html