Node.js 多对多关系中的其他字段
在用户模式中,我需要使用Node.js 多对多关系中的其他字段,node.js,mongodb,mongoose,many-to-many,Node.js,Mongodb,Mongoose,Many To Many,在用户模式中,我需要使用blocked属性定义联系人字段 我的实际定义如下: const UserSchema = new Schema({ id: Schema.Types.ObjectId, // Other fields // ... contacts: [{ type: Schema.Types.ObjectId, ref: 'User' }] } const UserModel = mongoose.model('User', UserSchema
blocked
属性定义联系人字段
我的实际定义如下:
const UserSchema = new Schema({
id: Schema.Types.ObjectId,
// Other fields
// ...
contacts: [{
type: Schema.Types.ObjectId,
ref: 'User'
}]
}
const UserModel = mongoose.model('User', UserSchema);
从那里,我无法找到一种可能的方法,在同一引用关系中添加
blocked
字段contacts
。是否需要创建一个中间集合来将附加字段添加到关系中?我最终创建了一个联系人集合,该集合同时包含对用户的引用以及我需要的附加字段:
//user.js
const UserSchema = new Schema({
id: Schema.Types.ObjectId,
// Other fields
// ...
contacts: [{
type: Schema.Types.ObjectId,
ref: 'Contact'
}]
}
const UserModel = mongoose.model('User', UserSchema);
//contact.js
const ContactSchema = new Schema({
id: Schema.Types.ObjectId,
contact: {
type: Schema.Types.ObjectId,
ref: 'User'
},
blocked: {
type: Boolean,
required: true
}
}
const ContactModel = mongoose.model('Contact', ContactSchema);