微信小程序開發(fā)實(shí)踐點(diǎn)滴——Bmob常用API的使用

Bmob后端云官網(wǎng):http://www.bmob.cn/
Bmob后端云微信小程序開發(fā)文檔:http://docs.bmob.cn/data/wechatApp/b_developdoc/doc/index.html

Bmob是一個(gè)很好用的后端云平臺(tái),自己在開發(fā)小程序的過程中有用到,比較好用懦尝,免去了搭建服務(wù)器毁欣、配置數(shù)據(jù)庫的煩惱尸饺,這也符合小程序即用即走的輕量型設(shè)計(jì)理念炕淮。特寫一篇文章總結(jié)一下常用功能的用法鹏秋,詳細(xì)用法可以參看上面的開發(fā)文檔。

在小程序中使用Bmob后端云的前提是要先接入Bmob滤否,接入方法請(qǐng)參見我的另一篇博文。

添加一行數(shù)據(jù)到diary表中

下面的代碼可以在遠(yuǎn)程創(chuàng)建一個(gè)名為'diary'的數(shù)據(jù)庫表并插入一條數(shù)據(jù)最仑,該表有兩個(gè)字段:titlecontent

// 創(chuàng)建一個(gè)表對(duì)象
var Diary = Bmob.Object.extend('diary');
// 創(chuàng)建一個(gè)表記錄對(duì)象
var diary = new Diary();

// 插入字段數(shù)據(jù)
diary.set('title','hello');
diary.set('content','hello world!');

// 保存數(shù)據(jù)到遠(yuǎn)程數(shù)據(jù)庫
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);
    }
});

根據(jù)ID查詢單條數(shù)據(jù)

var Diary = Bmob.Object.extend('diary');
// 創(chuàng)建一個(gè)查詢對(duì)象
var query = new Bmob.Query(Diary);
// 要查詢的記錄的ID
var id = '4ecdf7a';

// 查詢
query.get(id,{
    success:function(result){
        console.log('標(biāo)題為:' + result.get('title'));
    },
    error:function(object,error){
        console.log('query failed! error code is:' + error.code + ', error message is:' + error.message);
    }
});

修改一條數(shù)據(jù)

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);
    }
});

刪除一條數(shù)據(jù)

var Diary = Bmob.Object.extend('diary');
var query = new Bmob.Query(Diary);
// 要?jiǎng)h除的記錄的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 + '條數(shù)據(jù)');
        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);
    }
})

分頁查詢

// 設(shè)置起始位置
query.skip(10);
// 設(shè)置查詢個(gè)數(shù)
query.limit(10);

對(duì)查詢結(jié)果排序

// 對(duì)結(jié)果按照'title'字段升序排列
query.ascending('title');

// 對(duì)結(jié)果按照'title'字段降序排列
query.descending('title');

查詢某個(gè)字段是特定幾種取值

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

查詢指定列

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

查詢字符串字段以某個(gè)子串開頭

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){
        ...
    }
});

查詢滿足條件的記錄的數(shù)量

query.count({
    success:function(count){
        console.log('共查詢到了' + count + '條數(shù)據(jù)');
    },
    error:function(error){
        ...
    }
});

Bmob對(duì)象的默認(rèn)屬性

obj.id
obj.createdAt
obj.updatedAt

支持的常見數(shù)據(jù)類型

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();
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市泥彤,隨后出現(xiàn)的幾起案子欲芹,更是在濱河造成了極大的恐慌,老刑警劉巖吟吝,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件菱父,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡剑逃,警方通過查閱死者的電腦和手機(jī)浙宜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蛹磺,“玉大人梆奈,你說我怎么就攤上這事〕瓶” “怎么了亩钟?”我有些...
    開封第一講書人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵乓梨,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我清酥,道長(zhǎng)扶镀,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任焰轻,我火速辦了婚禮臭觉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘辱志。我一直安慰自己蝠筑,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開白布揩懒。 她就那樣靜靜地躺著什乙,像睡著了一般。 火紅的嫁衣襯著肌膚如雪已球。 梳的紋絲不亂的頭發(fā)上臣镣,一...
    開封第一講書人閱讀 51,692評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音智亮,去河邊找鬼忆某。 笑死,一個(gè)胖子當(dāng)著我的面吹牛阔蛉,可吹牛的內(nèi)容都是我干的弃舒。 我是一名探鬼主播,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼状原,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼聋呢!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起遭笋,我...
    開封第一講書人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤坝冕,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后瓦呼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體喂窟,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年央串,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了磨澡。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡质和,死狀恐怖稳摄,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情饲宿,我是刑警寧澤厦酬,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布胆描,位于F島的核電站,受9級(jí)特大地震影響仗阅,放射性物質(zhì)發(fā)生泄漏昌讲。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一减噪、第九天 我趴在偏房一處隱蔽的房頂上張望短绸。 院中可真熱鬧,春花似錦筹裕、人聲如沸醋闭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽证逻。三九已至,卻和暖如春扎运,著一層夾襖步出監(jiān)牢的瞬間瑟曲,已是汗流浹背饮戳。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工豪治, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人扯罐。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓负拟,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親歹河。 傳聞我的和親對(duì)象是個(gè)殘疾皇子掩浙,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)秸歧,斷路器厨姚,智...
    卡卡羅2017閱讀 134,661評(píng)論 18 139
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,167評(píng)論 25 707
  • 昵稱:香妃 坐標(biāo):魔都 星座:處女座 交友誓言: 其實(shí)有趣就好啦~ 喜歡的音樂(top3): 楊千嬅《再見二丁目》...
    偲炎閱讀 1,514評(píng)論 57 29
  • backtracking in a glance 首先系統(tǒng)地介紹一下backtracking這個(gè)方法本質(zhì)是建立在遞...
    dol_re_mi閱讀 6,249評(píng)論 0 10
  • 三年前的今天爺爺走了经备。那天天氣很好拭抬。 爺爺和奶奶是離退休干部。爺爺比奶奶大五歲侵蒙,聽我爸說倆人是五七干校認(rèn)識(shí)的造虎,后來...
    花下醉閱讀 439評(píng)論 3 2