2
r.db('dbname').table('urls').filter(function(url) {
  return url("expires_at").date().eq(r.now().date())
    .and(url("expires_at").hours().eq(r.now().hours().sub(1)))
});

我正在尝试使用 thinky ORM for node.js 编写等效查询

4

1 回答 1

2

我从未与 Thinky 合作过,但根据文档,您应该创建模型并对其进行查询。

1) 创建模型。我不知道您在 Rethink 中存储了哪些文件。但是这样的事情:

var thinky = require('thinky')();
var type   = thinky.type;

// Create a model
var Urls = thinky.createModel("urls", {
  id: String,
  expires_at: Date
  // another fields if needed
}); 

2) 查询:

不知道 Thinky 中过滤器的实际语法,但类似这样:

Urls.filter(function(url) {
     return url("expires_at").date().eq(r.now().date())
           .and(url("expires_at").hours().eq(r.now().hours().sub(1)))
}).then(function(result) {
     // result is an array of instances of `Urls `
});
于 2015-11-15T14:48:35.187 回答