我正在编写一个“获取或创建”方法来尝试获取一个项目,但如果它不存在,它将创建一个全新的版本。显然,我想确定该项目在我尝试获取它时不存在,因此它永远不会覆盖现有数据。
我是否正确假设$result["Item"] === null
当且仅当该项目在请求时数据库中不存在?也就是说,如果项目在请求之前存在,那么无论 API 错误等如何,此条件是否总是评估为假?或者还有其他我应该检查的东西吗?
$result = $this->client->getItem(
array(
"TableName" => $tableName,
"Key" => array(
$keyName => array(Type::STRING => $key),
)
)
);
if ( $result["Item"] === null )
{
//Item does not exist; create it and write it to dynamoDb (code not shown)
}
return $result["Item"];