0

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

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

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

谢谢!

4

1 回答 1

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

希望这可以帮助。

于 2015-08-28T19:12:04.350 回答