【发布时间】:2019-06-25 21:38:29
【问题描述】:
我有这样的架构:
var TestSchema = new Schema({
name: String,
ex: String,
data: [{type: Schema.ObjectId, ref: 'Data'}]
});
var Test = mongoose.model("Test", TestSchema);
它在 RoboT 中看起来像这样:
我想做的是按其 ID 删除数据。我正在这样做:
Test.update({}, {$pull: {data: idD }}, function(err, test) {
if (err) {
res.send(err);
}
res.send({
success: true
})
});
其中 idD 是我要删除的数据 ID。在此之前我只是做一个简单的
Data.deleteOne({_id: idD}, function...
它工作正常,但如果我刷新数据库,我的 idD 数据仍然存在于测试模式的数据数组中。 我也试过:
Test.update({}, {$pull: {data: {_id:idD }},
Test.update({}, {$pull: {data: {_id: mongoose.Types.ObjectId(idD)}}},
但没有任何效果。
【问题讨论】:
标签: mongodb mongoose mongodb-query mongoose-schema