我一直在努力工作幾個小時,以獲得工作在我的新sails.js項目上的最簡單的populate()查詢。問題是填充的字段總是有一個空數組。我深入瞭解這些例子,所以我認爲我沒有語法錯誤,但也許我疲憊的眼睛不讓我看到。我無法使用populate()工作在我的sails.js項目上
這裏有兩個模型+方法多數民衆贊成使得查詢:
型號系:
attributes: {
id: {
type: 'integer',
primaryKey: true
},
name: {
type: "string",
required: true
},
shortName: {
type: "string"
},
schoolName: {
model: 'Schools'
},
courses: {
collection: 'Courses',
via: "departmentId"
}
},
示範課程:
attributes: {
id: {
type: "integer",
primaryKey: true
},
name: {
type: "string",
required: true
},
shortName: {
type: "string"
},
departmentId: {
model: "Departments"
}
},
最後,進行調用的方法:
getDepartmentsBySchool: function(schoolName, callback){
Departments.find({schoolName: schoolName}).populate("courses").exec(function(error, departments){
if(error){
console.log("Departments could not be found");
return callback(error, []);
} else{
console.log(departments.length + " departments found");
return callback(null, departments);
}
});
}
結果:
courses: []
總是。
我使用MySQL,所以適配器是sails-mysql。任何類型的指針都會非常感激,這樣我就不必使用這個框架了。
編輯:
改變遷移到 「改變」 的結果如下:
! http://tinypic.com/r/9kv9ev/8
下面的答案能解決您的問題嗎?如果是的話,這通常被認爲是一種良好的做法,並建議您接受正確的答案。如果沒有,讓我知道,以便我們可以解決它 – 2014-12-05 18:46:37
嗨mandeep,非常感謝您花時間嘗試它(我不知道有問題的答案,沒有收到電子郵件通知) 不幸的是,它並沒有做到這一點,所以我又回到了問題上來進一步調試它。 – Albert 2014-12-10 20:03:34