Skip to content
Back

Invalid document structure: Attribute must be an array - but it is!

  • 0
  • Self Hosted
  • Databases
ideclon
19 Nov, 2024, 19:06
TypeScript
$databases->updateDocument("[DB_ID]", "[COLLECTION_ID]", "[DOCUMENT_ID]", [
  "[ATTRIBUTE]" => $var,
  ...
};

Here's the output of var_dump($var) directly before that call: array(1) { [1]=> string(20) "[VALUE]" }

Logs from the appwrite container:

TypeScript
Warning: Undefined array key 0 in /usr/src/code/vendor/utopia-php/database/src/Database/Validator/Query/Filter.php on line 194
 
Warning: Undefined array key 0 in /usr/src/code/vendor/utopia-php/database/src/Database/Validator/Query/Filter.php on line 194
[Error] Timestamp: 2024-11-19T18:59:45+00:00
[Error] Method: PATCH
[Error] URL: /v1/databases/:databaseId/collections/:collectionId/documents/:documentId
[Error] Type: Appwrite\Extend\Exception
[Error] Message: Invalid document structure: Attribute "[ATTRIBUTE]" must be an array
[Error] File: /usr/src/code/app/controllers/api/databases.php
[Error] Line: 3562
Failed to initialize logging provider: Unable to parse DSN: scheme is required

PHP8.3 Appwrite Self Hosted 1.6.0 PHP SDK 12.1.0

TL;DR
Issue with updating a document in the Appwrite self-hosted platform. The error message indicates that an attribute in the document must be an array, but it's not being recognized as such due to key starting from 1 instead of 0. **Solution**: Ensure the array keys start from 0, not 1, when updating the document.
Steven
19 Nov, 2024, 19:56

Shouldn't it start with 0, not 1?

Reply

Reply to this thread by joining our Discord

Reply on Discord

Need support?

Join our Discord

Get community support by joining our Discord server.

Join Discord

Get premium support

Join Appwrite Pro and get email support from our team.

Learn more