Create single select and multi select fields for categorizing data.
This script demonstrates how to create & work with the following select fields in NocoDB: SingleSelect, MultiSelect
For detailed descriptions of each field type and associated configuration options, refer to the NocoDB meta API documentation .
// NocoDB Script: Create Select Fields
const tableName = 'Select Fields Demo';
let table = base.getTable(tableName);
if (!table) {
table = await base.createTableAsync(tableName, []);
output.text(`✅ Created table: "${tableName}"`);
}
async function createField(name, config) {
if (!table.getField(name)) {
await table.createFieldAsync({ name, ...config });
output.text(`✅ Created: ${name}`);
}
}
await createField('Tags', {
type: "MultiSelect",
options: {
choices: [
{ title: 'UI', color: '#FFC107' },
{ title: 'API', color: '#28A745' }
]
}
});
await createField('Status', {
type: "SingleSelect",
options: {
choices: [
{ title: 'Draft', color: '#6c757d' },
{ title: 'Published', color: '#007BFF' }
]
}
});
output.table(table.fields.map(f => ({ 'Field Name': f.name, 'Type': f.type })));
output.text(`ℹ️ Total fields created: ${table.fields.length}`);
Related pages
- Table Operations : Demonstrates how to check for table existence, create a table, and list all tables in the base.
- Fields: Text-Based : Learn how to create and manage text-based fields in NocoDB.
- Fields: Numerical : Learn how to create numerical fields for storing quantities, percentages, currency, and more.
- Fields: Date & Time : Create fields to capture dates, times, and durations.
- Fields: System : Capture automatic audit information with system fields in NocoDB.
- Fields: User & Collaborator : Assign or reference users directly within records.
- Fields: Virtual & Formula : Add calculated or derivative data with virtual fields in NocoDB.
- Fields: Miscellaneous : Additional field types for attachments, checkboxes, ratings, and structured data.

