我有一个像这样的对象数组:
{
"openingDates": [
{
"location": "Main St.",
"openingDate": "2023-01-09T00:00:00Z"
},
{
"location": "Northwood Park",
"openingDate": "2006-01-10T00:00:00Z"
}
]
}
我有一个表达式按openingDate排序,然后得到openingDate值:
sort_by(openingDates, &openingDate)[0].openingDate
然而,openingDates
可能是null
,如果我试图在其上运行排序,这显然会导致错误。是否有一种方法来防止排序在我的表达式,如果值是null
?
问题来自sort_by
将只接受第一个参数为数组的事实。
也就是说,to_array
函数可以帮助您做一个null值的数组,因为to_array(null)
将给您[null]
.
并且,使用包含null的数组,您的进一步查询将返回openingDate
的null
,如预期的那样。
,
{}
和查询
sort_by(to_array(openingDates), &openingDate)[0].openingDate
这将产生
null
仍然会给
"2006-01-10T00:00:00Z"
在您的示例对象上。