Я работаю над calorie counter, и я медленно продвигаюсь вперед по своей записи в MQL. Проблема, которую я имею в настоящее время, заключается в обновлении самого рецепта, который находится в свойстве /common/topic/description
.Как обновить не уникальное свойство в Freebase?
Запрос, который я использую в настоящее время является:
[{
id: recipeId, // previously retrieved
'/common/topic/description': {
connect: 'replace',
value: $('#description textarea').val(),
lang: '/lang/en'
}
}]
Это преуспевает в исполнении, но когда я query (another) после того, как она закончилась, я получаю сообщение об ошибке:
{
"domain": "global",
"reason": "invalid",
"message": "Unique query may have at most one result. Got 2",
"locationType": "other",
"location": "/common/topic/description"
}
По the documentation, connect: replace
делает обновление об уникальных свойствах и вставке на не-уникальные. Так я получаю это, потому что значение было вставлено?
Необходимо ли удалить другое значение, чтобы предотвратить ошибку? Нужно ли мне знать существующее значение, чтобы удалить его?
{
id: recipeId,
'/common/topic/description': {
connect: 'delete',
value: 'Value currently stored',
lang: '/lang/en'
}
}
Спасибо за показывая мне, как получить записи, но когда кто-то обновляет рецепт я не хочу, чтобы создать новую запись. Чтобы выполнить обновление, мне нужно удалить старую запись? – Will
В этом контексте означает ли «запись» как '/ common/topic/description'? Поскольку свойство description допускает несколько значений, да, вам нужно удалить любые устаревшие значения, которые вам больше не нужны. –