文書が別の文書と同じ配列を持つことができないデータベーススキーマを作成したい。だから、私はスキーマconversations
を持っていると言う:私は、同じ参加者を持つ2人の会話を作成する場合は、2番目の1が失敗するようにMongoose - 文書が同じ配列を持つことを許可しない
var ConversationSchema = new Schema({
name: String,
participants: {
type: [{
type: Schema.Types.ObjectId,
ref: 'User'
}]
}
});
は今、どのように私はこれを検証することができますが、第三はないのだろうか?
var conversation1 = new Conversation({
name: "Hello",
participants: ['12345', '09876']
});
var conversation2 = new Conversation({
name: "World",
participants: ['12345', '09876']
});
var conversation3 = new Conversation({
name: "Group chat",
participants: ['12345', '09876', '13579']
});
conversation1.save(); // Valid
conversation2.save(); // Invalid - conversation already exists
conversation3.save(); // Valid
これはスキーマの検証ではないビジネスロジックのようです –