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
- [BUG] The cloud cannot be migrated to se...
The cloud cannot be migrated to self-hosting. The content of this post is exactly the same as [issue 11068](https://github.com/appwrite/appwrite/issues/11068) ...
- Rate límit reset
I've made an error in the code by not setting a limit on how much rows should i get per request because i was working with a small db for testing. Last night Iv...
- How to set permissions using the createO...
Hi, I'm trying to create a set of registers in a table using the tableDB.createOperations function, but it seems like it doesnt support/expect the usage of the ...