以下是我在github.com/rethinkdb问题上提出的问题。 我在这里发布了rethinkdb社区的好处
1.如何根据以下数据过滤最大日期:
[
{"TimeStamp": Fri Oct 11 2013 05:51:12 GMT+00:00},
{"TimeStamp": Thu Oct 10 2013 15:41:09 GMT+00:00},
{"TimeStamp": Thu Oct 10 2013 15:44:04 GMT+00:00}
]
2.如何创建计算字段?我在rethinkdb中有这样的数据
[
{id: 1, sales: 1000, discount: 0.1},
{id: 2, sales: 2000, discount: 0.2},
{id: 3, sales:3000, discount: 0.1}
]
我如何将其转换如下:
[{id: 1, sales: 1000, discount: 0.1, discAmt: 100, netSales: 900},
{id: 2, sales: 2000, discount: 0.2, discAmt: 400, netSales: 1600},
{id: 3, sales: 3000, discount: 0.1, discAmt: 300, netSales: 2700}
]
如何从上面删除折扣字段?
答案 0 :(得分:6)
<强> 1。最长日期
对于最大时间戳,如果您只想检索上一个时间戳,则可以执行
r.table("foo").map( r.row("TimeStamp") ).reduce( function(left, right) {
return r.branch( left.gt(right),
left,
right
})
如果您想要时间戳最大的文档,可以
r.table("foo").orderBy(r.desc("TimeStamp")).limit(1)
这将对整个表进行排序,因此您可能希望在TimeStamp上创建索引并使用
r.table("foo").orderBy({index: "TimeStamp"}).limit(1)
2.Calculated fields
r.db("books").table("sales").update( function(row){
var discAmt = row("sales").mul(row("discount"));
return {
discAmt: discAmt,
netSales: row("sales").sub(discAmt)
}
})
.run()
3.删除字段
r.db("books").table("sales").replace( function(row) {
return row.unpick("discount");
})
.run()
我希望这会对像我这样的rethinkdb启动器有所帮助。
由于