我有以下结构:
Item {
id string,
title string
tags []string,
time int,
parent string
}
我想要的是,list all items with tags [tag1, tag2, ... etc] of parent "parent-1" and order by time
所以我做了这个
r.db("db").table("tb").indexCreate("allByTime", function(row){
return row("tags").map(function(tag){
return [row("parent"), tag, row("time")]
})
})
它适用于这样的查询
r.db("db").table("tb").between(["parent-1", "tag1", 0], ["parent-1", "tag1", <some-bigger-timestamp>], {index: "allByTime"}).orderBy(...)
但我也想要这样的东西
r.db("db").table("tb").between(["parent-1", ["tag1", "tag2"], 0], ["parent-1", ["tag1", "tag2"], <some-bigger-timestamp>], {index: "allByTime"}).orderBy(...)
有什么建议么 ?
注意->我不想使用r.filter(...)
我试过这样的东西
r.union(<between-query-1>, <between-query-2>, ...)
但我不知道在查询之间有很多的大表中开销是多少。