У меня довольно большие трудности с попыткой удалить вложенные объекты из моей таблицы, без случайного удаления всех моих данных в процессе (теперь это происходило три раза, слава богу, я сделал копии).
Мой объект:
{
"value1": thing,
"value2": thing,
"value3": thing,
"roles": {
"1": {
"name": "Dave",
"id": "1"
},
"2": {
"name": "Jeff",
"id": "2"
},
"3": {
"name": "Rick",
"id": "3"
},
"4": {
"name": "Red",
"id": "4"
}
}
}`
Я пробовал несколько переосмыслить запросы, но пока ни один не работал. Следует отметить, что 1, 2, 3 и 4 являются переменными, которые могут иметь любое количество чисел, и поэтому мой запрос должен отражать это.
Некоторые попытки запроса:
function removeRole(id, roleName) {
let role = `${roleName}`
return this.r.table('guilds').get(id).replace(function(s){
return s.without({roles : {[role] : { "name": role }}})
})
}
function removeRole(id, roleName) {
return this.r.table('guilds').getAll(id).filter(this.r.replace(this.r.row.without(roleName))).run()
}
function removeRole(id, roleName) {
return this.r.table('guilds').get(id)('roles')(roleName).delete()
}
Любая помощь очень ценится, и если у вопроса есть вопросы, пожалуйста, дайте мне знать. Все еще довольно новый для этого, поэтому обратная связь приветствуется.