2017-11-10 15 views
0

Sequelize v3.30.4を使用しています。ネストされたJSONBオブジェクトのフィールドで注文を照会することができません。ユーザーのこの列は、電話番号​​で、フィールドはpriorityです。私はpostgres方言を使用しています。可能であれば、SQLの未加工のクエリを使用せずに未加工のクエリを使用しないでこれをどうやって行うのかと思います。私はこれらすべてのコメント方法を試したし、あなたが見る、他の2つのルールと一緒に順序を設定したいのです:Sequelize:JSONBオブジェクトのフィールドで注文を照会

function getUsers (id, req, res) { 
    const sequelize = req.app.context.sequelize; 
    const User = sequelize.model('user'); 
    const Post = sequelize.model('post'); 
    const Tag = sequelize.model('tag'); 

    return User.findOne({ 
    where: { id }, 
    include: [ 
    Post, 
     Tag 
    ], 
    order: [ 
     // ['payload.priority'], 
     // [sequelize.json('users.payload.priority', 'ASC')], 
     // [User.payload.priority], 
     // [User.payload, 'priority', 'ASC'], 
     // [User, 'payload', 'priority', 'ASC'], 
     // ['payload', 'priority', 'ASC'], 
     // ['payload', 'priority'], 
     [Post, 'rank'], 
     [Tag, 'rank'] 
    ] 
    ... 
}) 

答えて

0

あなたはちょうど私がsequelizeを使用しています

function getUsers (id, req, res) { 
    const sequelize = req.app.context.sequelize; 
    const User = sequelize.model('user'); 
    const Post = sequelize.model('post'); 
    const Tag = sequelize.model('tag'); 

    return User.findOne({ 
    where: { id }, 
    include: [ 
    Post, 
     Tag 
    ], 
    order: [ 
     ['payload.priority','asc'] 
    ] 
}) 

次のようにそれを使用することができますバージョン4.33.0およびそれは私 このために正常に動作してコーディング幸せ https://github.com/sequelize/sequelize/pull/7565/files/b5d77ecedbe96d47d053cb9f11e10cdf0f84d0ae

は、任意のクエリの場合に知らせて、マージされたリクエストのリンク、:)

です
関連する問題