我有两个架构,Person
和Message
,如何实施Mongoose黑名单架构?
我的意思是一个用户在不喜欢他的消息时可以阻止另一个用户 我是否需要新的架构才能获得更好的性能? 请举个例子
人:
const personSchema = new Schema({
_id: Number,
tok: {type: String, required: true, unique: true},
name: String,
pwd: String,
gender: String,
});
消息:
const messageSchema = new Schema({
userId: {type: Number, ref: 'Person'},
text: String,
voice: String,
senderId: Number,
});
答案 0 :(得分:1)
您可以向应列入黑名单的用户添加一系列引用。
const personSchema = new Schema({
_id: Number,
tok: {type: String, required: true, unique: true},
name: String,
pwd: String,
gender: String,
blacklist: [{
type: mongoose.Schema.Types.ObjectId,
ref: 'user' // same as 1st arg to mongoose.model()
}]
});