微信小程序开发实践点滴——Bmob常用API的使用

Bmob后端云官网:http://www.bmob.cn/
Bmob后端云微信小程序开发文档:http://docs.bmob.cn/data/wechatApp/b_developdoc/doc/index.html

Bmob是一个很好用的后端云平台,自己在开发小程序的过程中有用到,比较好用,免去了搭建服务器、配置数据库的烦恼,这也符合小程序即用即走的轻量型设计理念。特写一篇文章总结一下常用功能的用法,详细用法可以参看上面的开发文档。

在小程序中使用Bmob后端云的前提是要先接入Bmob,接入方法请参见我的另一篇博文。

添加一行数据到diary表中

下面的代码可以在远程创建一个名为'diary'的数据库表并插入一条数据,该表有两个字段:titlecontent

// 创建一个表对象
var Diary = Bmob.Object.extend('diary');
// 创建一个表记录对象
var diary = new Diary();

// 插入字段数据
diary.set('title','hello');
diary.set('content','hello world!');

// 保存数据到远程数据库
diary.save(null,{
    success:function(result){
        console.log('create success! data id is:' + result,id);
    },
    error:function(object,error){
        console.log('create failed! error code is:' + error.code + ', error message is:' + error.message);
    }
});

根据ID查询单条数据

var Diary = Bmob.Object.extend('diary');
// 创建一个查询对象
var query = new Bmob.Query(Diary);
// 要查询的记录的ID
var id = '4ecdf7a';

// 查询
query.get(id,{
    success:function(result){
        console.log('标题为:' + result.get('title'));
    },
    error:function(object,error){
        console.log('query failed! error code is:' + error.code + ', error message is:' + error.message);
    }
});

修改一条数据

var Diary = Bmob.Object.extend('diary');
var query = new Bmob.Query(Diary);
// 要修改的记录的ID
var id = '4ecdf7a';

query.get(id,{
    success:function(result){
        result.set('title','a new title');
        result.set('content','hi,guy!');
        
        // 保存提交修改
        result.save();
    },
    error:function(object,error){
        console.log('update failed! error code is:' + error.code + ', error message is:' + error.message);
    }
});

删除一条数据

var Diary = Bmob.Object.extend('diary');
var query = new Bmob.Query(Diary);
// 要删除的记录的ID
var id = '4ecdf7a';

query.get(id,{
    success:function(object){
        object.destroy({
            success:function(deleteObject){
                console.log('删除成功!');
            },
            error:function(object,error){
                console.log('delete failed! error code is:' + error.code + ', error message is:' + error.message);
            }
        });
    },
    error:function(object,error){
        console.log('query failed! error code is:' + error.code + ', error message is:' + error.message);
    }
});

批量删除

Bmob.Object.destroyAll(objects);

按条件删除

query.destroyAll({
    success:function(object){
        ...
    },
    error:function(error){
        ...
    }
});

条件查询

var Diary = Bmob.Object.extend('diary');
var query = new Bmob.Query(Diary);

query.equalTo('title','hello');
query.find({
    success:funciton(results){
        console.log('共查询到' + results.length + '条数据');
        for(var i = 0;i < results.length;i++){
            var obj = results[i];
            console.log(obj.id + ':' + obj.get('title'));
        }
    },
    error:function(error){
        console.log('find failed! error code is:' + error.code + ', error message is:' + error.message);
    }
})

分页查询

// 设置起始位置
query.skip(10);
// 设置查询个数
query.limit(10);

对查询结果排序

// 对结果按照'title'字段升序排列
query.ascending('title');

// 对结果按照'title'字段降序排列
query.descending('title');

查询某个字段是特定几种取值

query.containedIn('title',['hello','hi','hey']);

查询指定列

query.select('title');
query.find().then(function(results){
    ...
});

查询字符串字段以某个子串开头

query.startsWith('title','he');

或查询

var q1 = new Bmob.Query(Diary);
q1.greaterThan('age',10);
var q2 = new Bomb.Query(Diary);
q2.lessThan('age',20);

var mainQuery = Bmob.Query.or(q1,q2);
mainQuery.find({
    success:function(results){
        ...
    },
    error:function(error){
        ...
    }
});

查询满足条件的记录的数量

query.count({
    success:function(count){
        console.log('共查询到了' + count + '条数据');
    },
    error:function(error){
        ...
    }
});

Bmob对象的默认属性

obj.id
obj.createdAt
obj.updatedAt

支持的常见数据类型

var num = 42;
var string = 'hello';
var date = new Date();
var array = [string,num];
var object = {number:num,string:string};

var bigObj = new BigObject();
bigObj.set('myNumber',num);
bigObj.set('myString',string);
bigObj.set('myDate',date);
bigObj.set('myArray',array);
bigObj.set('myObject',object);
bigObj.set('myNull',null);

bigObj.save();
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,594评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,426评论 25 707
  • 昵称:香妃 坐标:魔都 星座:处女座 交友誓言: 其实有趣就好啦~ 喜欢的音乐(top3): 杨千嬅《再见二丁目》...
    偲炎阅读 1,499评论 57 29
  • backtracking in a glance 首先系统地介绍一下backtracking这个方法本质是建立在递...
    dol_re_mi阅读 6,237评论 0 10
  • 三年前的今天爷爷走了。那天天气很好。 爷爷和奶奶是离退休干部。爷爷比奶奶大五岁,听我爸说俩人是五七干校认识的,后来...
    花下醉阅读 434评论 3 2