I have a Posts collection with the following schema.
title: String
content: String
isDraft: Boolean
authorId: String<Ref:User>
The authorId is a reference to a record on the Users collection. When fetching a document from the Posts collection, you can select the fields you want to be returned using Query.select([]). If you want to populate the authorId field with data from the Users collection, the only option you have currently is to make a second request which is not performant.
I suggest a new Query method be made to be able to populate fields. Maybe something like Query.populate(fieldToPopulate1, fieldToPopulate2, ...)? My current workaround is using database.getDocument when I need to populate ONE document and databases.listDocuments when I needed to populate multiple documents.
Is there a more performant way for achieving this?
Are you on Appwrite Cloud?
Yes I am
Starting in version 1.3, Appwrite has built in relationship support to do what you mentioned. Cloud, however is on version 1.1.2 so it doesn't have relationship support. We're working on upgrading Cloud
Okay. Thanks for the info.
[SOLVED] Populate fields in response
Recommended threads
- Cloud function deploy stucks in processi...
Been trying for the last hours to deploy my function but for whatever reason, alwasy stuck on processing!
- Increase by operators
I see appwrite have bunch of useful operators for querieng db. One more I would like to suggest is operators like increase the count of a int columns by 1,2.. ...
- One-time Cloud migration blocked by data...
Hi, I’m blocked on a one-time migration from Appwrite Cloud to my self-hosted Appwrite instance. We already fixed the region issue, and the migration now corre...