Files
starr-philproperties/_scratch_test_sort2.js
T
kennethobsequio ea3e82e54c added
Signed-off-by: Kenneth Obsequio <k80308392@gmail.com>
2026-07-12 12:39:17 +08:00

38 lines
1.2 KiB
JavaScript

const { Sequelize } = require('sequelize');
const mdl_Users = require('./models/users/users.mdl');
const { mdl_UserGroups, mdl_UserGroupMembers } = require('./models/users/user_groups.mdl');
const sequelize = require('./config/db.config');
(async () => {
try {
await sequelize.authenticate();
console.log('DB connected OK');
// Find any group_id to test with
const anyGroup = await mdl_UserGroups.findOne({ attributes: ['group_id'], paranoid: false });
console.log('sample group_id:', anyGroup?.group_id);
const group_id = anyGroup?.group_id;
const order = [[Sequelize.json('personal_info.name.full_name'), 'ASC']];
const result = await mdl_Users.findAndCountAll({
attributes: ['user_id'],
order,
limit: 3,
offset: 0,
include: [{
model: mdl_UserGroupMembers,
where: { group_id },
attributes: [],
required: true,
}],
logging: (sql) => console.log('\n[SQL]', sql),
});
console.log('SORT+JOIN RESULT COUNT:', result.count, 'rows:', result.rows.length);
} catch (e) {
console.error('ERROR:', e.message);
} finally {
await sequelize.close();
}
})();