【发布时间】:2019-03-05 20:00:19
【问题描述】:
我在 Cosmos 中有一个文档结构,通常如下所示:
{
"Item No": "123456",
"Item Desc": "This is a description.",
"images": {
"https://somedomain.com/image1.png",
"https://somedomain.com/image2.png",
}
}
有时会有空的图片值,例如:
{
"Item No": "123456",
"Item Desc": "This is a description.",
"images": {
"",
""
}
}
我编写了一个 UDF(用户定义函数),它将用默认值替换任何空值:
function missingImage(doc, prop) {
if (typeof doc[prop] === "undefined" || doc[prop] === "" || doc[prop] === null) {
return "https://via.placeholder.com/150";
}
}
如果图片 url 为空白,我会返回此返回(正确):
{
"id": "e3842b29-313c-4a84-bc94-bc43a9a55742",
"Item No": "123456",
"Item Desc": "This is a description.",
"image": "https://via.placeholder.com/150"
},
我的SELECT 查询如下所示:
"c.id, c['Item No'], c['Item Desc'], udf.missingImage(c.images[0]) as image"
但是,在根本不存在图像密钥的情况下,例如:
{
"Item No": "123456",
"Item Desc": "This is a description."
}
我没有恢复我的默认值。
我的问题:如何修改我的 UDF 或查询,以便如果 images 键不存在,我仍然返回默认值?
【问题讨论】:
-
嗨,我的回答对你有帮助吗?蜡笔。
-
没有,请看我下面的回复。
-
好的。很高兴你已经解决了你的问题。
标签: azure azure-cosmosdb user-defined-functions