Skip to main content

Managing Labels and Properties

note

In CollectSDK, labels and properties are crucial for defining and organizing your data models. Labels act as categories or tags for your records, while properties define the structure and data types of the records themselves. This section covers how to manage labels and properties using the Collect SDK.

Understanding Labels and Properties

Labels

Labels are used to categorize records in CollectSDK. Each model or record type is associated with a label, which helps in organizing and querying the data.

Properties

Properties are the individual fields within a record. Each property has a type, such as string, number, or datetime, and can have additional attributes like required, unique, and default.

Managing Labels

You can manage labels using the labels property in the CollectRestAPI class. This allows you to find labels associated with your records.

Finding Labels

The find method under labels allows you to search for labels based on specific criteria.

Example

Finding labels with specific criteria:

const labelSearchCriteria = {
where: {
$OR: [
{
name: {
$startswith: 'author'
}
},
{
title: {
$contains: 'Guide'
}
}
]
}
};

const labels = await Collect.labels.find(labelSearchCriteria);
// Expected output:
// {
// success: true,
// data: {
// author: 12,
// post: 14
// }
// }

Managing Properties

Properties of records can be managed using the properties property in the CollectRestAPI class. This includes actions like finding properties and their values, deleting properties, and updating property values.

Finding Properties

The find method under properties allows you to retrieve properties of records based on specified criteria.

Example

Finding properties of a record:

const propertySearchCriteria = {
where: {
model: 'author'
}
};

const properties = await Collect.properties.find(propertySearchCriteria);
// Expected output:
// {
// success: true,
// data: [
// {
// id: 'property_id_1',
// name: 'name',
// type: 'string',
// },
// {
// id: 'property_id_2',
// name: 'email',
// type: 'string',
// }
// ]
// }

Finding Property Values

The values method retrieves the values of properties for a specific record.

Example

Retrieving property values for a property:

const propertyValues = await Collect.properties.values('property_id');
// Expected output:
// {
// success: true,
// data: {
// id: 'property_id',
// name: 'age',
// type: 'number',
// values: [25, 30, 35, 40],
// max: 40,
// min: 25
// }
// }

Deleting Properties

The delete method removes properties from a record.

Example

Deleting a property from a record:

await Collect.properties.delete('property_id');

Conclusion

Managing labels and properties effectively allows for better organization and retrieval of your data in CollectSDK. This section covered the fundamental operations for handling labels and properties, providing you with the tools to maintain a well-structured and searchable data environment.