• 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

  • 相关阅读:
    逻辑思维杂想
    C++二叉树实现
    斐波那数列递归实现与动态规划实现
    C++双向链表的实现
    C++单链表实现
    C++顺序表实现
    windows下端口占用处理工具
    [项目记录]一个.net下使用HAP实现的吉大校园通知网爬虫工具:OAWebScraping
    [c++]大数运算---利用C++ string实现任意长度正小数、整数之间的加减法
    [C++]几种排序
  • 原文地址:https://www.cnblogs.com/jiqing9006/p/5917512.html
Copyright © 2020-2023  润新知