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)))
});

I am trying to write the equivalent query using thinky ORM for node.js

Todd Resudek
  • 123
  • 5

1 Answers1

2

I've never worked with Thinky, but according to docs, you should create model and make query on it.

1) Create model. I don't know what documents you are storing in Rethink. But something like this:

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) Query:

Don't know actual syntaxes for filter in Thinky, but somehting like this:

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 `
});