2013-10-12 40 views
2

以下是我在github.com/rethinkdb问题上已经回答的问题。 我张贴这里rethinkdb造福社会如何找出最近或最近的日期?如何创建计算字段?如何删除字段? - Rethinkdb

1.How从下面的数据过滤最大日期:

[ 
{"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.How创建计算字段我有这样的数据在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} 
] 

如何从上面删除折扣字段?

回答

5

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) 

这将排序整个表,所以你可能想创建一个时间戳索引并使用

r.table("foo").orderBy({index: "TimeStamp"}).limit(1) 

2.Calculated领域

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.Deleting场

r.db("books").table("sales").replace(function(row) { 
    return row.unpick("discount"); 
}) 
.run() 

我希望这将有助于rethinkdb起动的我一样。

谢谢