0

내 프로젝트의 종류는 Article입니다. 그런 다음 Block 종류가 있습니다. 각 Block에는 상위 엔티티로 아티클이 있습니다. 따라서 각 기사는 여러 개의 Block 엔티티로 구성됩니다. 각 Block에는 속성이 있으므로 최종 사용자가 주문할 수 있습니다.Google Cloud Datastore에서 하나의 속성 값만 업데이트 할 수 있나요?

프론트 엔드에서 사용자는 새로운 Block을 추가하거나 기존 프런트 엔드를 업데이트 할 수 있습니다. 분명히 Block을 올리면 자체 순서가 변경되지만 치명적으로 변경되며 이후의 각 Block 엔티티도 변경 (+1)됩니다.

지금까지는 사용자가 저장 한 모든 업데이트에 대해 새로 저장된 것보다 크거나 같은 순서로 모든 Block 개의 항목을 검색하고 각각을 업데이트합니다.

PHP 라이브러리를 사용하여 하나의 속성 (order)을 간단하게 업데이트 할 수 있습니까?

답변

0

아니요, 엔터티의 속성 만 업데이트 할 수는 없습니다. 전체 엔터티를 업데이트해야합니다. Updating an entity에서 :

는 기존 개체를 업데이트 이전에 검색 한 개체 의 속성을 수정하고 키를 사용하여 저장하려면

$transaction = $datastore->transaction(); 
$key = $datastore->key('Task', 'sampleTask'); 
$task = $transaction->lookup($key); 
$task['priority'] = 5; 
$transaction->upsert($task); 
$transaction->commit(); 

제공되는 데이터는 기존 개체를 덮어 씁니다. 전체 개체 을 Cloud Datastore로 보내야합니다. [...]

**Note:** To delete a property, remove the property from the entity, then save the entity.