2016-12-29 108 views
0

我有2種模式:貓鼬:找到所有參考文件

var pollSchema = new mongoose.Schema({ 
    title: String,  
    created: { 
     type: Date, default: Date.now 
    }, 
    options: [{ 
     label: String, 
     count: { 
      type: Number, default: 0 
     }, 
     backgroundColor: { 
      type: String, default: '#fff' 
     } 
    }], 
    author:{ 
     id:{ 
      type: mongoose.Schema.Types.ObjectId, 
      ref: "User" 
     },    
     username: String   
    } 
}); 



var userSchema = new Schema({ 
    username: {type: String, unique:true}, 
    email: {type: String, unique:true, lowercase: true}, 
    password: String 
}); 

現在每個調查都會存儲它的作者的數據。 問題:

  • 如何重新設計我的模式 - 所以我將能夠找到屬於特定用戶的所有投票?
  • 或者我應該讓模式保持不變並找到另一種方法?

回答

1

你仍然可以找到所有屬於一個特定的用戶投票。你有這個author.id。你

還可以保持一個數組作爲var userSchema = new Schema({ username: {type: String, unique:true}, email: {type: String, unique:true, lowercase: true}, password: String, polls: [] });

每一次用戶調查,推民意調查數組,以後可以填充或獲取計數裏面的用戶ID。