import { Database } from './database'; import FilterParser from './filter-parser'; const db = new Database({ dialect: 'sqlite', dialectModule: require('sqlite3'), storage: ':memory:', }); (async () => { const User = db.collection({ name: 'users', fields: [{ type: 'string', name: 'name' }], }); const Post = db.collection({ name: 'posts', fields: [ { type: 'string', name: 'title' }, { type: 'belongsTo', name: 'user', }, ], }); await db.sync(); const repository = User.repository; await repository.createMany({ records: [ { name: 'u1', posts: [{ title: 'u1t1' }] }, { name: 'u2', posts: [{ title: 'u2t1' }] }, { name: 'u3', posts: [{ title: 'u3t1' }] }, ], }); const Model = User.model; const user = await Model.findOne({ subQuery: false, where: { '$posts.title$': 'u1t1', }, include: { association: 'posts', attributes: [] }, attributes: { include: [], }, }); console.log(user.toJSON()); })();