以下例子基本应该够用了,万一自己忘记了还有备份。
插入数据
.db('stf').table('apkinfo').insert({
id: "1",
name: "中国象棋",
apkname: "boyaa",
version: "2.1.0",
size: "30M",
uploadday: "2016-11-26",
activity: "1"
})
在数据表对象中插入一行数据
var newdata = {
"product": "oppo" ,
"result": "pass"
};
r.db('stf').table('tasklist').get('d179c4b3-62ec-4139-92f5-6bb677094bb6').update({
detail:r.row('detail').default([]).append(newdata)})
//get('keyid')
在数据表中过滤数据:
r.db('stf').table('devices').filter({display:{xdpi:320,ydpi:320}})
替换数据
var rpldata={
reporturl:"stf.oa.com/log/xx.log"
};
r.db('stf').table('tasklist').get('taskid').update(rpldata)
插入数据 2
var newdata={
taskid: "20161129"
,useremail: "ff@qq.com"
,apkname:"chinesechessv2.5.0.apk"
,reporturl:""
,detail:[]
};
r.db('stf').table('tasklist').insert(newdata)
增加 detail[] 数据:
var rpldata={
product:"huawei 6p"
,serial:"abcdefghijklmn"
,status:"finish"
,result:"install fail"
,errurl:"stf.oa.com/logurl/serail.log"
,imgurl:"stf.oa.com/imgurl/serail.log"
};
r.db('stf').table('tasklist').get('20161129').update({detail:r.row("detail").append(rpldata)})
删除
r.db('stf').table('tasklist').get('20161129').update({detail:r.row("detail").delete(第几条)})
替换 detail[] 里面的数据
var data={
product:"huawei 6p"
,serial:"abcdefghijklmn"
,status:"finish"
,result:"success"
,errurl:"stf.oa.com/logurl/serail.log"
,imgurl:"stf.oa.com/imgurl/serail.log"
};
r.db('stf').table('tasklist').get('20161129').update({detail:r.row("detail").changeAt(第几条数据,data)})
数据查询
查询 huawei 和 sumsang 的手机并获取其 serial
r.db('stf').table("devices").filter(
function (doc) {
return r.expr(["HUAWEI","SAMSUNG","OPPO",])
.contains(doc("manufacturer"));
}
).getField("serial")
查询内 display 里面数据中的 width 字段
r.db('stf').table("devices").filter(
function (doc) {
return r.expr([480,1080])
.contains(doc("display")("width"));
}
)
获取多个数据
db.run(r.table("devices").filter(function (doc){
return r.expr(manufacturer).contains(doc("manufacturer"))
.and(r.expr([version]).contains(doc("version")))
.and(r.expr([width]).contains(doc("display")("width")))
.and(r.expr([height]).contains(doc("display")("height")))
}).getField('serial'))
删除数组中的段数据
数据格式
{
"serial": [
"chess" ,
"nba" ,
"fifa"
] ,
id: "123456"
}
//删除serial数组中的abc,
r.db('stf').table(...).get("123456").update({serial: r.row("serial").difference(["abc"])})
联合查询
r.db('stf').table('tasklist').innerJoin(
r.db('stf').table('apkinfo'),
function (tasklist, apkinfo) {
return tasklist('fileID').eq(apkinfo('id'));
})
.map({
id: r.row('right')('id'),
detail:r.row('left')('detail'),
taskid:r.row('left')('taskid'),
appName: r.row('right')('appName')
})
.filter(r.row('taskid').eq(taskid))