2
我有2個模型具有多對多關聯。我的代碼關聯這兩個模型運行良好(它創建了一個新的集合item_languages__language_items
與相應的文件裏面)。但是,我無法獲得特定項目的所有相關數據(語言)。我正在使用MongoDB。存儲在item_languages__language_items
收集帆0.10和多對多關聯 - 獲取所有相關數據,而不僅僅是第一個
// Item.js
module.exports = {
schema: true,
autoPK: false,
attributes: {
uuid: {
type: 'string',
primaryKey: true,
unique: true,
required: true,
uuidv4: true
},
languages: {
collection: 'language',
via: 'items',
dominant: true
}
}
}
// Language.js
module.exports = {
schema: true,
autoPK: false,
attributes: {
code: {
type: 'string',
primaryKey: true,
required: true,
minLength: 2,
maxLength: 2,
unique: true
},
items: {
collection: 'item',
via: 'languages'
}
}
}
數據:
/* 0 */
{
"language_items" : "es",
"item_languages" : "69e4f3a3-1247-4a06-ae2d-9df27ac9495b",
"_id" : ObjectId("5330bcebf8e0b61509c771d5")
}
/* 1 */
{
"language_items" : "fr",
"item_languages" : "69e4f3a3-1247-4a06-ae2d-9df27ac9495b",
"_id" : ObjectId("5330bd26f8e0b61509c771d6")
}
/* 2 */
{
"language_items" : "en",
"item_languages" : "69e4f3a3-1247-4a06-ae2d-9df27ac9495b",
"_id" : ObjectId("5330bedcc076355b09da3ccd")
}
我
ItemController.js
現在,我希望得到一個特定的項目與所有相關的語言:
Item
.findOne({uuid: '69e4f3a3-1247-4a06-ae2d-9df27ac9495b'})
.populate('languages')
.exec(function (e, r) {
console.log(r.toJSON());
});
但在這裏我得到我的只有一種關聯語言的項目,當我期望獲得3種關聯語言時。
感謝您的回答!我在這裏發佈了一個問題:https://github.com/balderdashy/sails-mongo/issues/120。在此期間,我將使用一種解決方法。 – Etienne
在最新的Waterline中修復了此處提及的提交:https://github.com/balderdashy/sails-mongo/issues/120 – particlebanana