# Sorting

In your project there may be a particular field such as `position`. A field like `position` needs extra attention because it should not contain values that, during synchronization, could be incorrect. I'll give you an example:

| position | unique      |
| -------- | ----------- |
| 0        | aaa-aaa-aaa |
| 1        | bbb-bbb-bbb |
| 2        | ccc-ccc-ccc |
| 4 (3?)   | ddd-ddd-ddd |

This might be a situation you don't want to find yourself in, i.e. where a position is skipped (the third in this example). This could cause problems for your apps that need to manage position.

When you set a field in the [`sorting_key`](https://asyncher.convertino.cloud/features/configuration), Asyncher will pay attention to these 3 things about that field:

* That the position starts from 0.
* That there are no empty positions (as in the previous example).
* That the position field is set to `null` if data is deleted but you have set a field in [`deleted_at_key`](https://asyncher.convertino.cloud/features/configuration).

{% hint style="info" %}
I recognize that this feature may be limiting for some, so please feel free to [let me know if you need it improved](https://github.com/matteo-convertino/asyncher/issues).
{% endhint %}
