0
我有这个问题。基本上,我有2个模式 - 用户模式和文档模式。文档模式有一个owner
,它引用User
集合中文档的_id
字段。引用对象ID在Mongoose中不工作4.11.6
问题是,我仍然能够使用User
集合中不存在的所有者ID保存Document
集合中的文档,但不应该如此。
这是我User
架构和Document
模式分别
const UserSchema = new Schema({
firstName: {
type: String,
required: true,
},
lastName: {
type: String,
required: true,
},
email: {
type: String,
validate: [{ validator: value => isEmail(value), msg: 'Invalid email.'
}],
unique: true,
required: true,
},
password: {
type: String,
required: true,
},
isAdmin: {
type: Boolean,
default: false,
},
}, {
timestamps: true,
});
const User = mongoose.model('User', UserSchema);
和文档架构
const DocumentSchema = new Schema({
title: {
type: String,
required: true,
},
text: {
type: String,
},
access: {
type: String,
enum: ['public', 'private'],
default: 'public',
},
owner: {
type: Schema.Types.ObjectId,
ref: 'User',
required: true,
},
}, {
timestamps: true,
});
const Document = mongoose.model('Document', DocumentSchema);
任何帮助将不胜感激感谢。
Mongodb不提供数据一致性。如果您需要此功能,请使用RDBMS。 – alexmac