我试图理解为什么会收到TypeError:____。andWhereRaw不是将ObjectionJs与Postgres一起使用的函数,以及如何解决此错误。
const { Model } = require('objection')
// Website Table
exports.up (knex, Promise) => {
return knex.schema.createTable('web', table => {
table.string('id');
table.string('website');
table.jsonb('other_sites').defaultTo('[]');
}
}
exports.down .... // blah blah blah.....
*****************************************************************
// Website data:
{
'id': 'orgIdA',
'website': 'site1.com',
'other_sites': ['foo.com', 'bar.com', 'xyz.com']
}
Class Website extends Model {
const results = await GetModel // GetModel is a function "references"
.query()
.where('id', organizationId)
.andWhere('website', website)
const otherSite = results.map(site=> site= {...account.otherSites});
if (otherSite) {
Object.keys(otherSite).forEach(key => {
results.andWhereRaw(`other_sites @> '{"${key}": "foo.com"}'`)
});
}
}
TypeError:results.andWhereRaw不是函数