Сравнить функцию индекса с функцией JavaScript?
Можно ли сравнить функцию существующего индекса с обычной нативной функцией в JavaScript?
Например, я мог бы создать индекс со следующим кодом:
r.table('Table').indexCreate('index', document => document.hasFields('field'));
Позже я мог бы захотеть определить, имеет ли индекс ту же функцию:
document => document.hasFields('field')
С помощью indexStatus()
В этом могут помочь два свойства.
Первый, function
это Buffer
представляет функцию, и может быть сравнен с Buffer
S получены от других indexStatus()
объекты. Однако не ясно, как это можно сравнить с нативной функцией JavaScript. Новый индекс может быть создан, а затем его Buffer
по сравнению с Buffer
существующего индекса, но это будет грязный и влияющий на производительность обходной путь.
Во-вторых, query
это string
содержащий функцию, напоминающую ту, которая была предоставлена indexCreate()
, Однако это свойство, по-видимому, недокументировано, и значение не всегда точно совпадает с функцией, предоставленной для indexCreate()
с изменениями имен переменных и преобразованием функций стрелок в выражения функций. Я написал грубый код, который пытается работать с этим подходом, хотя он несовершенен, учитывая непрозрачную природу правил, по которым query
значение генерируется RethinkDB.