Sequelize、MySQL-JSON列値を使用してテーブル内の行をフィルタリングする

ヒマバンス

Sequelizeを使用して、ネストされた値でMySQLテーブルのJSON列の行をフィルタリングする方法を理解するのに助けが必要です。ドキュメントは、それを( -のみのPostgreSQL&MSSQLのために与えられていないREF

テーブル定義-

module.exports = (sequelize, DataTypes) => {
  const Comment = sequelize.define('Comment', {
    action: DataTypes.STRING,
    type: DataTypes.STRING,
    reason: DataTypes.STRING,
    reference: DataTypes.JSON,
    active: {
      type: DataTypes.INTEGER,
      defaultValue: 1,
    },
  }, {
    classMethods: {
      associate(models) {
        Comment.belongsTo(models.User, {
          foreignKey: 'userId',
        });
      },
    },
  });
  return Comment;
};

Commentsの参照列の値-

{
  "orderItemId": 2,
  "xkey": 3,
  "ykey": 4
}
{
  "orderItemId": 4,
  "xkey": 1,
  "ykey": 1
}
{
  "orderItemId": 3,
  "xkey": 1,
  "ykey": 6
}
{
  "orderItemId": 2,
  "xkey": 1,
  "ykey": 0
}

「orderItemId」が2であるすべての行をフィルタリングするにはどうすればよいですか。

予想されるSQLクエリ

select * from Comments where reference->"$.orderItemId" = 2

を使用する方法を考え出しましたsequelize.literalが、この関数を使用しない方法はありますか。

models.Comment.findAll({
  where: sequelize.literal(`reference->"$.orderItemId"=2`),
})

上記の場合に複数の条件を追加する方法-

reference->"$.orderItemId" = 2 and action = 'xyz'

ウラジスラウ・ヴァビラウ

使用する必要があります Sequelize.Op

例:

models.Comment.findAll({
    where: {
        action: 'xyz',
        [Op.and]: sequelize.literal(`reference->"$.orderItemId"=2`),
    },
});

続編(演算子)

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

mySQL:他のテーブルに等しい値がない列をフィルタリングする方法は?

分類Dev

フォームを使用してmysql / phpテーブルデータをフィルタリングする方法

分類Dev

Sequelize-Sequelizeを使用してMySQLの複数のテーブルにcsvデータを挿入する方法

分類Dev

MySQLが2つのテーブルを別のテーブルにリンクし、フィルタリングされたクエリを実行する

分類Dev

2番目のテーブルMYSQLの複数の行でデータをフィルタリングする

分類Dev

mysqlデータベースクエリを調整して列値をフィルタリングする

分類Dev

mysqlクエリの列値に基づいて行をフィルタリングする

分類Dev

MySQL:別のテーブルの値に基づいて選択した値をフィルタリングします

分類Dev

値のリストを使用してMysqlからのフィルタリングで条件を適用する方法

分類Dev

mysql jsonクエリで文字列内のフィールドコンテンツを使用する方法は?

分類Dev

2つのMySQLテーブルを結合し、そのうちの1つで基本的なフィルタリングを実行する

分類Dev

MYSQL:配列値を使用した列によるフィルタリング

分類Dev

sequelizeとmysqlを使用してデフォルト値を設定する方法

分類Dev

MYSQLを使用してJSONの配列を使用してフィールド内の値を合計するにはどうすればよいですか?

分類Dev

MySQL-あるフィールドの値をフィルターとして使用して別のフィールドの値をカウントし、2つのテーブルのデータを組み合わせる方法は?

分類Dev

PHP経由でMySQLデータベーステーブルの値を使用してSVGグラフィックを生成する

分類Dev

sequelizeを使用してサブクエリを作成し、日付と時刻を使用して今後のイベントをフィルタリングします

分類Dev

mysqlで複数のAND演算子を使用してデータをフィルタリングする

分類Dev

MySQLは、列が同じテーブル内の別の列にリンクされているテーブルから行を選択します

分類Dev

現在の日付でMYSQLデータベーステーブルをフィルタリングする方法

分類Dev

結合されたテーブルのフィールドに基づいて MySQL Select をフィルタリングする

分類Dev

phpを使用してmysqlクエリをフィルタリングする

分類Dev

nodejsによってmysql(sequelize)テーブルデータをjsonにエクスポートします

分類Dev

フォームオプションを使用してMYSQLクエリをフィルタリングする

分類Dev

MySQLは他のテーブルの配列でフィルターテーブルを使用します

分類Dev

列のAS名を使用したMYSQLフィルタリング

分類Dev

MySQLでDATEを使用して繰り返される行をフィルタリングする方法

分類Dev

PHPでIf / elseステートメントを使用してmysqlの結果をフィルタリングする方法

分類Dev

mysqlからデータをフィルタリングし、javaを使用してjtableに表示する方法

Related 関連記事

  1. 1

    mySQL:他のテーブルに等しい値がない列をフィルタリングする方法は?

  2. 2

    フォームを使用してmysql / phpテーブルデータをフィルタリングする方法

  3. 3

    Sequelize-Sequelizeを使用してMySQLの複数のテーブルにcsvデータを挿入する方法

  4. 4

    MySQLが2つのテーブルを別のテーブルにリンクし、フィルタリングされたクエリを実行する

  5. 5

    2番目のテーブルMYSQLの複数の行でデータをフィルタリングする

  6. 6

    mysqlデータベースクエリを調整して列値をフィルタリングする

  7. 7

    mysqlクエリの列値に基づいて行をフィルタリングする

  8. 8

    MySQL:別のテーブルの値に基づいて選択した値をフィルタリングします

  9. 9

    値のリストを使用してMysqlからのフィルタリングで条件を適用する方法

  10. 10

    mysql jsonクエリで文字列内のフィールドコンテンツを使用する方法は?

  11. 11

    2つのMySQLテーブルを結合し、そのうちの1つで基本的なフィルタリングを実行する

  12. 12

    MYSQL:配列値を使用した列によるフィルタリング

  13. 13

    sequelizeとmysqlを使用してデフォルト値を設定する方法

  14. 14

    MYSQLを使用してJSONの配列を使用してフィールド内の値を合計するにはどうすればよいですか?

  15. 15

    MySQL-あるフィールドの値をフィルターとして使用して別のフィールドの値をカウントし、2つのテーブルのデータを組み合わせる方法は?

  16. 16

    PHP経由でMySQLデータベーステーブルの値を使用してSVGグラフィックを生成する

  17. 17

    sequelizeを使用してサブクエリを作成し、日付と時刻を使用して今後のイベントをフィルタリングします

  18. 18

    mysqlで複数のAND演算子を使用してデータをフィルタリングする

  19. 19

    MySQLは、列が同じテーブル内の別の列にリンクされているテーブルから行を選択します

  20. 20

    現在の日付でMYSQLデータベーステーブルをフィルタリングする方法

  21. 21

    結合されたテーブルのフィールドに基づいて MySQL Select をフィルタリングする

  22. 22

    phpを使用してmysqlクエリをフィルタリングする

  23. 23

    nodejsによってmysql(sequelize)テーブルデータをjsonにエクスポートします

  24. 24

    フォームオプションを使用してMYSQLクエリをフィルタリングする

  25. 25

    MySQLは他のテーブルの配列でフィルターテーブルを使用します

  26. 26

    列のAS名を使用したMYSQLフィルタリング

  27. 27

    MySQLでDATEを使用して繰り返される行をフィルタリングする方法

  28. 28

    PHPでIf / elseステートメントを使用してmysqlの結果をフィルタリングする方法

  29. 29

    mysqlからデータをフィルタリングし、javaを使用してjtableに表示する方法

ホットタグ

アーカイブ