Bmob后端云官网:http://www.bmob.cn/

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

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

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

添加一行数据到diary表中

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

// 创建一个表对象
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();

随机推荐

  1. Matlab之合并音频

    程序功能: 1.读入wav下的所有音频 2.每个音频截取前0.6秒 3.合并每个音频 clear all; cd = 'wav'; waveFiles = dir(fullfile(cd,'*.wav ...

  2. tree的使用

    //html <ul id="tree"></ul>  js function initTree() { $('#tree').tree({ url: '/ ...

  3. .NET程序调试技巧(一):快速定位异常的一些方法

    作为一个程序员,解BUG是我们工作中常做的工作,甚至可以说解决问题能力是一个人工作能力的重要体现.因为这体现了一个程序员的技术水平.技术深度.经验等等. 那么在我们解决BUG的过程中,定位问题是非常重 ...

  4. mui 子页面切换父页面底部导航

    在父页面中新增方法: function switchTab(tab){ plus.webview.hide(activeTab); activeTab= tab; plus.webview.show( ...

  5. numpy 和 pandas 中常用的一些函数及其参数

    numpy中有一些常用的用来产生随机数的函数,randn()和rand()就属于这其中. numpy.random.randn(d0, d1, …, dn)是从标准正态分布中返回一个或多个样本值.  ...

  6. Linux 下添加用户,修改权限

    最近在用虚拟机,安装了centos,现在想新添加一个用户,在网上找了找方法.[原文链接] # useradd –d /usr/sam -m sam 此命令创建了一个用户sam,其中-d和-m选项用来为 ...

  7. vijos P1740 聪明的质检员

    题目链接:传送门 题目大意:给你n个物品,每件物品有重量 W 和价值 V,给m个区间,和一个标准值.(n,m最大200000) 要求找到一个值x,使得m个所有区间的权值和与标准值的差的绝对值最小.单个 ...

  8. 通用且常用的Java正则匹配工具,用以检查邮箱名、电话号码、用户密码、邮政编码等合法性

    一个通用且常用的Java正则匹配工具,用以检查邮箱名.电话号码.用户密码.邮政编码等合法性. import java.util.regex.Matcher; import java.util.rege ...

  9. spring定时器的cronexpression表达式

    转自:https://www.cnblogs.com/yaowen/p/3779284.html 相关配置: import com.alibaba.dubbo.config.annotation.Se ...

  10. bootstrap 媒体查询

    //各类设备的分辨率 /*超小设备(手机,小于768px)*/ /* Bootstrap 中默认情况下没有媒体查询 */ /*超小型设备(小于768px)*/ @media (min-width:@s ...