关于Bmob
[Bmob](http://www.bmob.cn)
百度百科:
Bmob可以开发一个云存储的移动应用软件,给应用软件快速添加一个安全灵活的后台管理系统,方便浏览终端保存的各种信息。
Bmob特点
对于很多Android/ios/wp个人移动开发者来说,开发一个具有网络功能的应用不是一件
容易的事,不仅需要购买/租赁服务器,还必须掌握一门诸如Java/.net/php这类的服务
器开发语言,每开发一款移动应用程序,就必须开发维护对应的服务器程序。这一切对于
移动开发者来说,都是一个冗长的噩梦。
如何让移动开发者从繁琐的机械劳动中解脱出来,将更多精力投入到移动应用程序的创意
研发,从而不断提升产品质量呢?Bmob移动应用云存储平台的诞生就很好地解决了以上难
题。
在Bmob平台上,您只需注册一个帐号,成功后申请创建任意多个数据库,获得对应的
Key,下载对应版本的SDK并将其嵌入到移动应用中,便可以调用存取API,进行数据的任
意操作。有了Bmob,您在5分钟内就可以学会如何开发一个云存储的移动应用软件,给应
用软件快速添加一个安全灵活的后台管理系统,方便您浏览终端保存的各种信息。
开始使用
首先按照Bmob的文档申请账号,创建应用:
http://docs.bmob.cn/data/Android/a_faststart/doc/index.html
下面代码演示了使用Node.js查询并删除数据:
var http = require('https');
var qs = require('querystring');
var deleteOptions = { //删除请求的options
"method": "DELETE",
"hostname": "api.bmob.cn",
"headers": {
"x-bmob-application-id": "这里填写ApplicationId",
"x-bmob-rest-api-key": "这里填写Rest-Api_key"
}
};
var queryOptions={ //查询请求的options
"method": "GET",
"hostname": "api.bmob.cn",
"headers": {
"x-bmob-application-id": "这里填写ApplicationId",
"x-bmob-rest-api-key": "这里填写Rest-Api_key",
"content-type": "application/json",
}
}
function query(tableName) { //查询函数
queryOptions.path="/1/classes/"+tableName //拼接查询path
var req = http.request(queryOptions, function (res) { //发起请求
var chunks = [];
res.setEncoding('utf8');
res.on('data', function (chunk) { //数据返回时回调
chunks.push(chunk)
});
res.on('end',function () { //数据返回结束时回调
var body="";
for(i=0;i<chunks.length;i++){
body=body+chunks[i]
}
var results=JSON.parse(body)
var day15=1000*60*60*24*15
for(j=0;j<results.results.length;j++){
var obj=results.results[j]
var createdTime=new Date(obj.createdAt).getTime();
var now=new Date().getTime();
var liveTime=now-createdTime;
if (liveTime>day15){ //时间检查,删除15天以前的记录
deleteRow(obj.objectId,tableName)
}
}
})
});
req.on('error', function (e) { //请求错误时回调
console.log('problem with request: ' + e.message);
});
req.end();
}
function deleteRow(objectId,tableName){ //删除记录函数
deleteOptions.path="/1/classes/"+tableName+"/"+objectId //拼接删除path
var req = http.request(deleteOptions, function (res) { //发起DELETE请求
var chunks = [];
res.setEncoding('utf8');
res.on('data', function (chunk) {
chunks.push(chunk)
});
res.on('end',function () {
var body="";
for(i=0;i<chunks.length;i++){
body=body+chunks[i]
}
console.log(tableName+":"+objectId+" "+body);
})
});
req.on('error', function (e) {
console.log('problem with request: ' + e.message);
});
req.end();
}
function start() { //开始执行
var tables=["TableName1","TableName2","TableName3"]; //需要删除记录的表名
for(i=0;i<tables.length;i++){
query(tables[i])
console.log('start query:'+tables[i]);
}
}
setInterval(start,6000); //每分钟执行