У меня есть такая схема:
var TestSchema = new Schema({
name: String,
ex: String,
data: [{type: Schema.ObjectId, ref: 'Data'}]
});
var Test = mongoose.model("Test", TestSchema);
, и в RoboT она выглядит следующим образом:
что яхочу сделать, это удалить данные по их идентификатору.я делаю это:
Test.update({}, {$pull: {data: idD }}, function(err, test) {
if (err) {
res.send(err);
}
res.send({
success: true
})
});
где idD - это идентификатор данных, который я хочу удалить.Перед этим я делаю простой
Data.deleteOne({_id: idD}, function...
, и он работает правильно, но если я обновляю БД, мои данные с idD все еще присутствуют в массиве данных в тестовой схеме.я также пробовал:
Test.update({}, {$pull: {data: {_id:idD }},
Test.update({}, {$pull: {data: {_id: mongoose.Types.ObjectId(idD)}}},
но ничего не работает.