是否可以将现有索引的功能与JavaScript中的普通本机功能进行比较?
例如,我可以使用以下代码创建索引:
r.table('Table').indexCreate('index', document => document.hasFields('field'));
随后,我可能希望确定索引是否具有相同的功能:
document => document.hasFields('field')
使用indexStatus()
,两个属性可以帮助解决这个问题。
首先,function
是表示功能的Buffer
,可以与从其他Buffer
对象获得的indexStatus()
进行比较。但是,尚不清楚如何将其与本机JavaScript函数进行比较。可以创建一个新索引,然后将其Buffer
与现有索引的Buffer
进行比较,但这将是一个麻烦且影响性能的解决方法。
第二,query
是string
,其中包含类似于提供给indexCreate()
的功能。但是,此属性似乎未公开,其值并不总是与提供给indexCreate()
的函数完全相同,因为变量名已更改,而箭头函数已转换为函数表达式。考虑到RethinkDB生成query
值的规则不透明,我写了一些粗糙的代码尝试使用这种方法,尽管它并不完美。