ウォーターラインは、RegExpがモデルを見つける

ハンスメイ

データ処理に喫水線ORMを使用して、SailsJS(ベータ)で簡単な検索関数を作成しようとしています。コントローラの関数は、ウォーターラインの事前定義されたfind()メソッドを使用して検索を実行します。

SQL-regexpパターンをwaterlinefind()-functionに送信して、一致するREGEXPを持つすべてのユーザーをフェッチすることは可能ですか?

私のコントローラーのfind-methodには、これが含まれています(私が求めている正規表現機能を除く):

// Replace any spaces with SQL regex wildcards
var regexp = req.body.search.replace(' ', '*');

  // Show found users
  User.find()
  .where({
    or: [
      {username: { contains: req.body.search }},
      {email: { contains: req.body.search }},
      {fullName: { regexp: regexp }}
    ]
  }).exec(function(err, users){

    if (err){
       return res.send(403, 'Failed to find users' + JSON.stringify(err));
    }

    res.view('userlist', {
      users: users
    });

  });

fullName属性は、属性内のインスタンスメソッドとして定義され、おそらく、検索ではありません。しかし、名前を適切に検索する方法はありますか?

これは私のユーザーモデルからの抜粋です:

module.exports = {
  attributes: {
    firstName: {
      type: 'string'
    },
    lastName: {
      type: 'string'
    },
    fullName: function(){
      return this.firstName + ' ' + this.lastName;
    },
    (...some more attributes, as well as email and username...)
  }
}

find()-methodをSQL正規表現で機能させるにはどうすればよいですか?私の目標は、結果セットで「HansEikerol」を検索して「HansMartinEikerol」を表示することです。

sgress454

Waterlineは、接続しているデータベースの.find()基礎となるfind構文にマップされます。正規表現はすべてのデータベースアダプタでサポートされているわけではないため、正規表現はサポートされていません。最近のほとんどの主流データベースには正規表現検索が標準で付属しているため、この機能はWaterlineにあるかもしれませんが、それ.queryまでの間、ネイティブSQLクエリを実行するために使用できます。次に、結果を強制的にウォーターラインモデルに戻します。たとえば、sails-mysql

User.query("[some sql query using RLIKE]", function(err, rows) {
    if (err){
        return res.send(403, 'Failed to find users' + JSON.stringify(err));
    }

    res.view('userlist', {
        // Map the rows returned by the query to Waterline instances
        users: rows.map(function(row){return new User._model(row);});
    });
});

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

djangoモデルは、フィルターのカウントが最小になる場所を見つけます

分類Dev

Ruby on Rails:別のコントローラーからモデルインスタンスを見つける

分類Dev

Mavenプラグインがバインドするデフォルトのフェーズを見つける

分類Dev

Django-フォアマンはインストールされたモデルを見つけることができません

分類Dev

djangoモデルのシリアライザーを見つける方法は?

分類Dev

レールコントローラのパラメータを使用してモデルデータを見つけることができない

分類Dev

ASP.NET Webフォームページデザイナは、モデルバインディングで使用されている別のプロジェクトのクラスを見つけることができません

分類Dev

geditプラグインフォルダーを見つける

分類Dev

geditプラグインフォルダーを見つける

分類Dev

RabbitMQ-キューモードを見つける方法(デフォルトまたはレイジー)

分類Dev

Laravelモデルのルートバインディングで期待されるパラメーター名を見つける方法

分類Dev

モデルバインダーが投稿データを見つけられない

分類Dev

モデルを構造化し、Rコードでベイジアンモデルのベータを見つける方法は?

分類Dev

CDKでデプロイすると、Lambdaは外部フォルダーからモジュールを見つけることができません

分類Dev

ターミナルでデフォルトのファイルマネージャを見つける方法は?

分類Dev

Angular2はデフォルトルーターを見つけることができません

分類Dev

デュランダルチャイルドルーターがビューを見つけられない

分類Dev

Windows 8がデフォルトで「マウスとキーボードセンター」になっている場合、マウスボタンのプロパティタブを見つけるにはどうすればよいですか?

分類Dev

テンプレートパラメータにデフォルトの引数を指定すると、VS2017は以前に定義されたタイプを正しく見つけることができません

分類Dev

ディレクトリまたはファイルが存在するマウント/パーティションを見つける方法は?(Linuxサーバー)

分類Dev

vlcjはデフォルトのインストールフォルダにプラグインライブラリを見つけることができません。NativeDiscoveryは機能します

分類Dev

HTML内にデータがないサイトへのRESTAPIパラメーターを見つける方法は?

分類Dev

不明なドライバーのベンダーとモデルを見つける方法

分類Dev

元のデータセットからデータポイントのラベルを見つける:関数

分類Dev

ターンアラウンドタイムを見つける必要があります

分類Dev

モデル内で現在のコントローラー名を見つける方法はありますか?

分類Dev

Nautilusはデフォルトのドメインオントロジールールを見つけることができません

分類Dev

マウスポインタが含まれているモニターまたは画面を見つける-swift、macos

分類Dev

ブラウザのJavascriptメディエータがインスタンス変数を見つけることができません

Related 関連記事

  1. 1

    djangoモデルは、フィルターのカウントが最小になる場所を見つけます

  2. 2

    Ruby on Rails:別のコントローラーからモデルインスタンスを見つける

  3. 3

    Mavenプラグインがバインドするデフォルトのフェーズを見つける

  4. 4

    Django-フォアマンはインストールされたモデルを見つけることができません

  5. 5

    djangoモデルのシリアライザーを見つける方法は?

  6. 6

    レールコントローラのパラメータを使用してモデルデータを見つけることができない

  7. 7

    ASP.NET Webフォームページデザイナは、モデルバインディングで使用されている別のプロジェクトのクラスを見つけることができません

  8. 8

    geditプラグインフォルダーを見つける

  9. 9

    geditプラグインフォルダーを見つける

  10. 10

    RabbitMQ-キューモードを見つける方法(デフォルトまたはレイジー)

  11. 11

    Laravelモデルのルートバインディングで期待されるパラメーター名を見つける方法

  12. 12

    モデルバインダーが投稿データを見つけられない

  13. 13

    モデルを構造化し、Rコードでベイジアンモデルのベータを見つける方法は?

  14. 14

    CDKでデプロイすると、Lambdaは外部フォルダーからモジュールを見つけることができません

  15. 15

    ターミナルでデフォルトのファイルマネージャを見つける方法は?

  16. 16

    Angular2はデフォルトルーターを見つけることができません

  17. 17

    デュランダルチャイルドルーターがビューを見つけられない

  18. 18

    Windows 8がデフォルトで「マウスとキーボードセンター」になっている場合、マウスボタンのプロパティタブを見つけるにはどうすればよいですか?

  19. 19

    テンプレートパラメータにデフォルトの引数を指定すると、VS2017は以前に定義されたタイプを正しく見つけることができません

  20. 20

    ディレクトリまたはファイルが存在するマウント/パーティションを見つける方法は?(Linuxサーバー)

  21. 21

    vlcjはデフォルトのインストールフォルダにプラグインライブラリを見つけることができません。NativeDiscoveryは機能します

  22. 22

    HTML内にデータがないサイトへのRESTAPIパラメーターを見つける方法は?

  23. 23

    不明なドライバーのベンダーとモデルを見つける方法

  24. 24

    元のデータセットからデータポイントのラベルを見つける:関数

  25. 25

    ターンアラウンドタイムを見つける必要があります

  26. 26

    モデル内で現在のコントローラー名を見つける方法はありますか?

  27. 27

    Nautilusはデフォルトのドメインオントロジールールを見つけることができません

  28. 28

    マウスポインタが含まれているモニターまたは画面を見つける-swift、macos

  29. 29

    ブラウザのJavascriptメディエータがインスタンス変数を見つけることができません

ホットタグ

アーカイブ