Một trong schemas mongoose của tôi là một nhiều mối quan hệ:Loại bỏ nhiều nhiều tài liệu tham khảo trong Mongoose
var UserSchema = new Schema({
name : String,
groups : [ {type : mongoose.Schema.ObjectId, ref : 'Group'} ]
});
var GroupSchema = new Schema({
name : String,
users : [ {type : mongoose.Schema.ObjectId, ref : 'User'} ]
});
Nếu tôi loại bỏ một nhóm, là có anyway để loại bỏ nhóm ObjectId từ tất cả các 'nhóm' của người dùng mảng?
GroupSchema.pre('remove', function(next){
//Remove group._id from all the users
})
Và nếu 'nhóm' không được lập chỉ mục, bạn sẽ bắt buộc quét toàn bộ bảng và quét mảng người dùng. – WiredPrairie
@WiredPrairie Có một cách xung quanh rằng nếu các tài liệu tham khảo hai lần liên kết là đáng tin cậy. Tôi đã thêm rằng như là một lựa chọn tốt hơn. – JohnnyHK
Vâng, đó là một cải tiến và sẽ hoạt động tốt hơn. – WiredPrairie