1

Thinky ORMを使用して、テーブルの 1 つのフィールドが存在するかどうか (大文字と小文字を区別しない) を確認しようとしています。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を使用してテーブル内のデータをどのように一致させることができるかについて考えている人はいますか?

4

1 に答える 1

2

ついにやった!thinky.rを含めました:

let r = thinky.r;

書く代わりに

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

私が書いた

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

出来上がり

于 2016-03-05T15:36:00.087 に答える