我有一个表(在RethinkDB数据库中),该表具有一堆带有字段VIN0的文档。该字段几乎总是按预期存储数字。

我最近在某些数据损坏的地方,在字段VIN0的某些字符串代替数字。我用来处理此数据的查询现在返回错误:"e: Expected type NUMBER but found STRING in:"

我想过滤字符串,但似乎找不到它们。是否可以使用Number.isInteger()之类的方法在RethinkDB中过滤掉这些项目?

谢谢!

最佳答案

您可以使用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')})


希望这可以帮助。

关于javascript - 如何过滤掉非数值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32278032/

10-12 19:38