Eri*_*sky 5 javascript date filter rethinkdb
我只想查询不到一天的东西......在JS中,它返回true; 为什么重新思考不会返回true,所以也不会返回任何结果?
r.db( "db" ).table("table")
.filter( function (item) {
var
now = new Date(),
then = new Date( item.upload_date );
return now - then > 1000*60*60*24
});
Run Code Online (Sandbox Code Playgroud)
我也试过这个:
r.db( "db" ).table("table")
.filter( function (item) {
var
now = new Date(),
then = new Date( item( "upload_date") );
return now - then > 1000*60*60*24
});
Run Code Online (Sandbox Code Playgroud)
编辑:这绝对item( "upload_date" )是我没有返回日期字符串......我应该在那里使用什么呢?
ReQL 足够智能,可以解析字符串并对它们进行排序。如果您的日期格式正确,它仍应使用.lt行上的 进行过滤。
r.db("database").table("table")
.filter( r.row('upload_date')
.lt( new Date( new Date() - (24*60*60*1000) ).toISOString().replace(/\..{4}/, '').replace(/T/, ' ') ) )
Run Code Online (Sandbox Code Playgroud)
——
干杯
方法中请求的正则表达式String.replace():
FIRST -(转储时间码的结尾)
例如:“2017-03-20T17:17:37.966Z”->“2017-03-20T17:17:37”
\..{4}将上面的组替换为空引号,或者什么都不替换
第二-
例如:“2017-03-20T17:17:37”->“2017-03-20 17:17:37”
T将上面的组替换为空格字符或“”
这将字符串设置为能够在 rethink db 内进行比较