在原型制作过程中,我已将一堆Facebook帖子分批导入表中。在第一批之后,我进行了批量更新,将"created_date"
列从字符串转换为本机时间戳(使用方便的r.ISO8601
函数):
r.db('db').table('table').update({'created_date': r.ISO8601(r.row('created_date'))
在第二遍时,当我尝试重复此更新时,服务器会抛出错误,因为并非所有行字段都是STRING
类型(即之前转换的那些),这就是ISO861
预计。
我已经尝试过滤r.row('created_date').typeOf() == "STRING"
但没有匹配。我找不到任何其他方式将STRING类型称为对象而不是文字字符串。
我知道我可以导出这些并在代码中执行if / else逻辑,但我很想知道是否有一个本机查询会过滤掉与某种类型匹配的行。
答案 0 :(得分:2)
您必须使用eq
进行比较,如下所示:
r.row('created_date').typeOf().eq("STRING")
使用==
仅适用于某些语言支持运算符覆盖。