node.js - Sequelize WHERE sequelize.fn(...) AND something='something' ordering issue -


i have sequelize findone function looks select row given point intersects polygon (col 'geom') , status = 'active'.

var point = sequelize.fn('st_geomfromtext', 'point(' + lng + ' ' + lat +')', 4326); var intersects = sequelize.fn('st_intersects', sequelize.col('geom'), point);  geocounty.findone({   attributes: ['id', 'name' ],   where: {     status: 'active',     $and: intersects   },   plain: true }) 

as of right now, works fine. produces sql looks like:

select "id", "name" "geocounty" "geocounty" "geocounty"."status" = 'active' , (st_intersects("geom", st_geomfromtext('point(-98.025006 43.714735)', 4326))) limit 1; 

what want is:

select "id", "name" "geocounty" "geocounty" (st_intersects("geom", st_geomfromtext('point(-98.025006 43.714735)', 4326))) , "geocounty"."status" = 'active' limit 1;     

which st_intersects clause comes first , and status='active' comes after.

my questions are:
1. there sort of performance penalty executing query first way work? 2. there way structure clause in sequelize?

this not work:

geocounty.findone({   attributes: ['id', 'name' ],   where: {     intersects,     $and: {       status: 'active'     }   },   plain: true })     

it produces sql:

select "id", "name" "geocounty" "geocounty" "geocounty"."intersects" = st_intersects("geom", st_geomfromtext('point(-98.025006 43.714735)', 4326)) , ("geocounty"."status" = 'active') limit 1;     

there no geocounty.intersects...


Comments

Popular posts from this blog

Command prompt result in label. Python 2.7 -

javascript - How do I use URL parameters to change link href on page? -

amazon web services - AWS Route53 Trying To Get Site To Resolve To www -