检查查询结果是否属于一个实例
Check if the result of the query belongs to one instance
我有以下查询:
Promise.join<any>(
db.User.findAll({
where: {
email: {
$like: '%'+req.query.q+'%'
}}}),
db.Investor.findAll({
where: {
$or: {
firstName: { $like: req.query.q+'%' },
lastName: { $like: req.query.q+'%' }
}}}),
(users, investors) => {
if (!users && !investors) {
throw new error.NotFoundError('No result match your search criteria!');
} else {
return (users ? users : investors);
}
}
).then((results) => {
...
我怎么知道结果是一组用户还是投资者?有没有快速的方法?
我相信 instance.constructor.name 应该包含您要查找的内容。也可以
Instance instanceof db.User
但是您必须验证数组中的每个条目。您可以使用 .map 过滤掉不是两个结果之一的任何结果
results.map( function(result) { return result instanceof db.User || result instanceof db.Investors} )
您可以更改 return 声明如下。
return ( users ? { "users": users } : { "investors": investors } );
并解析 returning 映射以获取 "users"
或 "investors"
对象。
我有以下查询:
Promise.join<any>(
db.User.findAll({
where: {
email: {
$like: '%'+req.query.q+'%'
}}}),
db.Investor.findAll({
where: {
$or: {
firstName: { $like: req.query.q+'%' },
lastName: { $like: req.query.q+'%' }
}}}),
(users, investors) => {
if (!users && !investors) {
throw new error.NotFoundError('No result match your search criteria!');
} else {
return (users ? users : investors);
}
}
).then((results) => {
...
我怎么知道结果是一组用户还是投资者?有没有快速的方法?
我相信 instance.constructor.name 应该包含您要查找的内容。也可以
Instance instanceof db.User
但是您必须验证数组中的每个条目。您可以使用 .map 过滤掉不是两个结果之一的任何结果
results.map( function(result) { return result instanceof db.User || result instanceof db.Investors} )
您可以更改 return 声明如下。
return ( users ? { "users": users } : { "investors": investors } );
并解析 returning 映射以获取 "users"
或 "investors"
对象。