Я работаю с Node.js, и я использую соединитель Cloudant для источника данных loopback.updateAll loopback datasource не удаляет удаления внутри обновленных данных
Я определил модель под названием пользователя, как указано ниже:
var User = db.define('User', {
lastName: { type: String },
firstName: { type: String },
skills: []
});
У меня есть экземпляр этой модели, как:
{
"lastName": "Doe",
"firstName": "John",
"skills": [
{
"id": "0",
"text": "JAVA"
},
{
"id": "1",
"text": "CSS"
},
{
"id": "2",
"text": "HTML"
},
{
"id": 3,
"text": "JAVASCRIPT"
},
{
"id": 4,
"text": ".NET"
}
],
"id": "d981b42c3a2a13da382102c76652b96e"
}
Я хочу, чтобы обновить экземпляр, так что массив навыки только содержит эту информацию:
"skills": [
{
"id": "0",
"text": "JAVAFX"
},
{
"id": "1",
"text": "CSS3"
}
]
Я хочу использовать эту функцию:
app.post('/updateProfile', function(req, res) {
User.updateAll(
{_id:req.body.id},
{skills: req.body.skills},
function(err,items){
if(err){
res.send(err);
} else {
res.sendStatus(200);
}
});
});
Однако проблема, с которой я сталкиваюсь, заключается в том, что обновляются только навыки с одинаковым идентификатором. Те, которые я хочу удалить (в примере это HTML, JAVASCRIPT и .NET), НЕ удаляются.
Как я могу фактически заменить навыки вместо того, чтобы делать обновление? Я пробовал другие вещи, описанные в документации, но это не работает. Documentation is available here
Я получаю следующее сообщение об ошибке: – JavascriptDeveloper
essage :.. «Соединитель Cloudant не поддерживает replaceById операции Это не ошибка в LoopBack Пожалуйста, свяжитесь с авторами соединителя, предпочтительно с помощью вопросов GitHub – JavascriptDeveloper
Спасибо за напоминание. me: Патч все еще находится под контролем, еще не выпущен, я буду обновлять его до тех пор, пока он будет опубликован: https://github.com/strongloop/loopback-connector-cloudant/pull/34 –