#Payload REST API SDK

6 messages · Page 1 of 1 (latest)

gusty forge
#

Hello, I have two collections with a relation. I can have multiple modules, and each module can have multiple submodules. Here are the collections

export const Modules: CollectionConfig = { slug: 'modules', fields: [ { name: 'name', type: 'text', required: true, index: true, }, { name: 'description', type: 'textarea', required: true, }, { name: 'subModules', type: 'join', collection: 'sub-modules', on: 'module', }, ], access: { read: ({ req: { user } }) => Boolean(user), create: isAdmin, update: isAdmin, delete: isAdmin, }, }

export const SubModules: CollectionConfig = { slug: 'sub-modules', fields: [ { name: 'name', type: 'text', required: true, index: true, }, { name: 'description', type: 'richText', required: true, }, { name: 'module', type: 'relationship', relationTo: 'modules', required: true, index: true, admin: { description: 'Select the module this sub-module belongs to', }, }, ], access: { read: ({ req: { user } }) => Boolean(user), create: isAdmin, update: isAdmin, delete: isAdmin, }, }

I use Payload rest api sdk for fetching my data

private sdk: PayloadSDK; const result = await this.sdk.find({ collection: 'modules', where, select: { name: true, description: true, subModules: { name: true, }, }, });

Is it possible to select only the ID and name for each of the submodules when I am fetching modules? Because now it returns full information about each of the submodules.

empty mauveBOT
ruby tartan
#

Keep in mind populate is based on collection name, not field name.
So you would use sub-modules (the collection name) and not subModules (the field name).

gusty forge
#

I tried to use populate but I was using subModules instead of sub-modules