RethinkDB Thinky - строки в течение 1 часа

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

Я пытаюсь написать эквивалентный запрос, используя ORM Thinky для node.js

1 ответ

Решение

Я никогда не работал с 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 `
});
Другие вопросы по тегам