首页 > 解决方案 > 是否可以在没有 ObjectId 属性的情况下在另一个猫鼬模式中引用猫鼬模式

问题描述

我有两个猫鼬模式,其中一个模式引用另一个。例如我有

const loginsSchema = new mongoose.Schema({

displayName:{
    type:String,
    required:true,

},
serviceId:{
    required:true,
    type:String,
    unique:true
 }
})
const logins = mongoose.model('logins',loginsSchema);

module.exports = logins;
const usersSchema = new mongoose.Schema({
userName: {
    type: String,
    required: true,
},
email: {
    type: String,
    unique: true,

   },    
    user: {
    type: mongoose.Schema.Types.ObjectId,
    required: true,
    ref: 'logins',
    unique: true
}
})

我想做的是创建一个新模式并在其中引用userSchema,但不使用objectid。我想使用电子邮件属性。

例如

const usersSchema = new mongoose.Schema({
name1: {
  type: String,
  required: true,
},
name2: {
  type: String,
  unique: true,

},    
emailref: {
    /// reference the username schema with the email property instead of the objectId
  }
 })

我怎么能在猫鼬中做到这一点?

标签: node.jsmongoosemodelmongoose-schema

解决方案


推荐阅读