Normal Output:
"questions": {
"total": 2,
"documents": [
{
"order": 1,
"$id": "quiz_question_1",
"questionId": {
"$id": "question_1",
"$databaseId": "...",
"$collectionId": "..."
}
},
{
"order": 2,
"$id": "quiz_question_2",
"questionId": {
"$id": "question_2",
"$databaseId": "...",
"$collectionId": "..."
}
}
]
}
but if i do
Query.select(["question", "order"]);
it throws an error
AppwriteException: Cannot select attributes: questionId
code: 400,
type: 'general_query_invalid',
response: {
message: 'Cannot select attributes: questionId',
code: 400,
type: 'general_query_invalid',
version: '1.6.0'
}
sorry for typo: the query was
Query.select(["questionId", "order"]);
The issue seems to arise from attempting to select nested attributes, such as questionId
Since Query.select isn't able to handle nested attributes directly,
You can work around this by fetching the entire document and then extracting the specific fields you need in your application logic.
const response = await database.listDocuments("<DATABASE_ID>", "<COLLECTION_ID>");
const documents = response.documents.map(doc => ({
order: doc.order,
questionId: doc.questionId
}));
console.log(documents);
This way, you get all the necessary data and then filter out the required attributes.
thank you @Guri
Recommended threads
- Empty listRows() response
Hi there, I'm shehryar, I'm new to react native and appwrite as well, I'm following a tutorial, what's surprising is the listRows({databaseId, tableId, queries}...
- Skip total counts crash the query
Hello, When adding the total parameter (either true, the default, or false) to the listRows function, it raises the following error: `type 'bool' is not a sub...
- Current User Is Not Authorized To Perfor...
I keep getting an error saying the current user is not authorized to perform the requested action, when I'm trying to create a row a table. Permissions have bee...