我有以下模式:用戶,目標和成就多態引用列表
在用戶架構中,我需要一個用戶喜歡的項目列表。一個項目既可以是成就也可以是目標。
所以我需要的東西是這樣的:
User: {
email: { type: String },
username: { type: String },
password: { type: String },
firstName: { type: String }
lastName: { type: String },
likes: [ { type: ObjectId, ref: 'Goal/Achievement' } ],
}
如何可以引用多個模式中的對象ID的一個列表?
編輯:想更具體的...
這是一個用戶例子:
{
email: "[email protected]"
username: "juanfuentes"
password: "5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8"
firstName: "Juan"
lastName: "Fuentes"
likes: [
ObjectId("579bc55d57fd27f802569061"),
ObjectId("5797bc7a86fc997203b52acc"),
ObjectId("579bc4fa3fe32af302e098a1"),
ObjectId("57968fd0c54d7bb9058fff77")
]
}
ObjectId("579bc55d57fd27f802569061")
屬於目標
ObjectId("5797bc7a86fc997203b52acc")
屬於成就
ObjectId("579bc4fa3fe32af302e098a1")
也屬於一個目標
ObjectId("57968fd0c54d7bb9058fff77")
屬於成就
所以,如果喜歡的是制定一系列目標,我將宣佈這樣的:
likes: [ { type: ObjectId, ref: 'Goal } ]
如果喜歡是成就的清單,我會宣佈這樣的:
likes: [ { type: ObjectId, ref: 'Achievement' } ]
但是,我希望喜歡成爲目標和成就的列表。我不知道如何宣佈這樣的事情。
確定。那麼你的*具體*問題是什麼? – nnnnnn
如何在單個對象標識列表中引用多個模式? –
因此,上面顯示的對象與預期的輸出一樣,其中「ref」是「目標」或「成就」?輸入是什麼樣的? – Wolfgang