gpt4 book ai didi

sequelize.js - 如果条件未找到值,如何返回默认值

转载 作者:行者123 更新时间:2023-12-03 22:32:51 24 4
gpt4 key购买 nike

我有一个疑问。

async function getConfig(configId, country) {
return await db.config.findOne({
attributes: ['id', 'version', ...],
where: { id: configId },
include: [
{
required: false,
model: db.domain,
attributes: ['domain'],
where: {
country_code: country,
isActive: true,
},
},
],
});
}
在配置表中有一个值。
id | version
------------
1 | '1.1.1'
并且在域表中有值。
id | domain | country | isActive | isDefault 
--------------------------------------------
1 | http:1 | us | false | null
2 | http:2 | us | false | null
3 | http:3 | us | false | null
4 | http:4 | us | true | true
如果我用参数 const config = await getConfig(1, 'tr') 调用我的函数,我必须得到默认结果,因为我的 domain 表没有国家代码 tr 的域。如果我的条件找不到值,我想返回默认值。我该怎么做?
我想得到一个结果。
    "result": {
"id": 1,
"version": "1.1.1",
"domain": [
{
"domain": "http:4",
}
],
}
但我得到了结果
    "result": {
"id": 1,
"version": "1.1.1",
"domain": [],
}

最佳答案

我会返回您找到的结果,如果没有找到,请返回您的默认值。您应该能够从中获得总体思路并将结果附加到 const found :

async function getConfig(configId, country) {

const found = await db.config.findOne({
attributes: ['id', 'version', ...],
where: { id: configId },
include: [
{
required: false,
model: db.domain,
attributes: ['domain'],
where: {
country_code: country,
isActive: true,
},
},
],
});

if (found) {
return found
}
else {
return defaultValue
}
}

关于sequelize.js - 如果条件未找到值,如何返回默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65178876/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com