Il y a quelques façons simples de le faire si vous utilisez la ligne de flottaison ORM intégrée, et elles sont fondamentalement équivalentes.
La première consiste à exécuter Model.update()
et à remplacer le tableau par la nouvelle valeur.
Model.update(id, { likes : [/* new array value */] }).then(...)
L'autre est à 1) trouver l'objet 2) tirer la valeur hors du tableau 3) enregistrer:
Model.findOne(id, function(err, document){
if(err) // handle err case
else {
document.likes = document.likes.filter(value => value !== 'stringToRemove')
document.save(function(err, saved){
... // do more stuff
})
}
})
Enfin, à moins que vous utilisez pour une application très simple, je ne peut pas recommander l'utilisation de Waterline ORM avec MongoDB. Épargnez-vous un tas de maux de tête et utilisez Mongoose.
Pourriez-vous coller le code de vos modèles? Post, utilisateur ... tout ce que vous utilisez dans cette opération? – SkyQ