У меня есть RESTful API, построенный поверх магазина MongoDB, поэтому хорошо, что вы можете хранить массивы. Прямо создать новый ресурс, подобный этому:
POST /users
{
items: [
1001, 1002, 1003
]
}
Но как будет выглядеть конечная точка HTTP для добавления нового элемента или удаления элемента?
Сейчас я должен указать весь массив, включая элементы, которые я не хочу трогать:
PATCH /users/{id}
{
name: 'Bruce Wayne',
items: [
1001, 1002
]
}
Или напрямую передайте запрос mongodb:
PATCH /users/{id}?query[$push][items]=1003
Есть ли лучший способ сделать это?
Edit:
Мне нравится, как это делает API StackMob. Как обновить name
и удалить элемент из items
одновременно? Например, когда я обновляю кучу деталей пользователя на панели управления администратора? Я не думаю, что замена всего массива - хорошая идея в mongodb?