Как вы можете сопоставить поле в Thinky ORM?

Я пытаюсь проверить, существует ли одно поле из таблицы (с учетом регистра) с помощью Thinky ORM. Без Thinky я могу сопоставить поле, просто используя RethinkDB простые операции сопоставления фильтров:

//  This makes my variable insensitive.
let myFieldInsensitive = '(?i)^' +myFieldSensitive`enter code here`+'$';
//  Filter by matching myFieldInsensistive.
r.table('myTable').filter(r.row('myField').match(myFieldInsensitive))
 .run(myConnection, function (err, result) {
    console.log(result.length); // returns 1 if myFieldInsesitive was found
})

Этот код проверит, существует ли mySpecificField еще в myTable (с учетом регистра).

Сейчас я пытаюсь сделать то же самое соответствие с помощью Thinky, но этот ORM не поддерживает этот синтаксис:

let myFieldInsensitive = '(?i)^' +myFieldSensitive+'$';
myModel.filter(('myField').match(myFieldInsensitive)})
  .run().then((result) => {
    console.log(result.length); // should return 1 if myFieldInsesitive was found, but this returns always empty array
})

Кто-нибудь имеет представление о том, как вы можете сопоставить данные в таблице с помощью Thinky?

1 ответ

Решение

Наконец то сделал это! Я включил thinky.r:

let r = thinky.r;

Вместо того чтобы писать

myModel.filter(('myField').match(myFieldInsensitive))

я написал

myModel.filter(r.row('myField').match(myFieldInsensitive))

ВОЙЛА!

Другие вопросы по тегам