我有一个表(在RethinkDB数据库中),它有一堆带有字段VIN0
的文档。该字段几乎总是按预期存储数字。
我最近有一些数据损坏,其中有一些字符串代替字段VIN0
的数字。我用来操作此数据的查询现在返回错误:"e: Expected type NUMBER but found STRING in:"
我想过滤字符串,但我似乎无法找到它们。有没有办法使用像Number.isInteger()
之类的东西来过滤RethinkDB中的这些项目?
谢谢!
答案 0 :(得分:3)
您可以使用typeOf
查找字段类型或元素。我们假设您要过滤文档,其中VIN0是一个数字
r.db('db').table('table').filter(r.row('VIN0').typeOf().eq('NUMBER'))
您还可以尝试使用coereTo
将字符串转换为数字来解决问题。
r.db('db').table('table')
.filter(r.row('VIN0').typeOf().eq('STRING'))
.update({VIN0: r.row('VIN0').coerceTo('NUMBER')})
希望这有帮助。