javascript - RethinkDb:在给定时间戳之前获取 X 个条目

标签 javascript database time rethinkdb

我想使用时间戳查询我的 RethinkDB,并作为返回获取此时间戳之前的前 X 个条目。

到目前为止我已经尝试过以下内容:

r.db('deepstream').table('chat').filter(function (message) {
    return message("_d")("timestamp").lt(<timestamp>);
}).limit(X);

这给了我在给定时间戳之前的 X 个条目,但不是按照我想要的顺序。

我的条目如下所示:

{
  "_d": {
    "id":  "chat/ibcta7zt-5k6ldeay2xr" ,
    "message":  "sadas" ,
    "timestamp": 1435274339341 ,
    "user":  "Emil"
  } ,
  "_v": 1 ,
  "ds_id":  "ibcta7zt-5k6ldeay2xr"
}

“ds_id”的前半部分是一个 Base64 编码的时间戳,如果这可能有帮助的话。

如何查询数据库以确保我得到的结果是 X 条先前的消息,而不仅仅是 X 条较早到达的随机消息?

最佳答案

根据时间戳对数据库进行降序排序解决了我的问题。

r.db('deepstream').table('chat').orderBy({index: r.desc('ds_id')})
  .filter(function (message) {
     return message("_d")("timestamp").lt(<timestamp>);
  }).limit(X);

关于javascript - RethinkDb:在给定时间戳之前获取 X 个条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31062806/

相关文章:

javascript - 如何在 React 中映射嵌套的对象数组

javascript - MongoDB update() 函数如何同时具有参数和回调函数?

javascript - jquery transitionend 函数 kiks 每次我重复点击

database - 数据库系统是否包含/存储图片、声音和文件,或者只是它们的引用?

c - 为什么时间会变?

javascript - typescript :避免通过引用进行比较

database - 如何使用 hibernate 从数据库中获取系统日期、时间和时间戳

python - 如何使用日期时间检索行(python 和 mysql)

python - 使用递归函数将嵌套列表转换为集合

php - 如何在 Laravel 中格式化输出 MySQL 日期?