模型實例屬性在我們開始之前:我與種子數據和兩個REST端點一個非常小混帳回購協議,以測試在這裏這個問題:https://github.com/juanpasolano/sails-nested-test無法復位sailsjs
所以,我有3種型號:Appointment
其中有很多procedure
其中有一對一procedureItem
。 因爲沒有在船帆我用手使用像越來越procedures
與procedureItem
嵌套人口:
Appointment.find(1).exec(function(err, appointments){
if(err) return res.negotiate(err);
async.eachSeries(appointments, function(appointment, cb){
Procedure.find({appointment: appointment.id}).populate('procedureItem').exec(function(errP, procedures){
if(errP) return cb(errP);
appointment.procedures = procedures;
appointment.proceduress = procedures;
cb()
})
}, function(errE){
if(errE) return cb(errE);
res.ok(appointments)
所以,問題是,當我想更換procedures
屬性與新陣列的程序(其中有嵌套深度我需要)它只是沒有設置,如果你點擊演示的端點,沒有procedures
屬性可用。
作爲一項測試,我已將相同的新程序數組附加到proceduress
(double s)屬性上,並且可以正確設置該屬性。
我已經嘗試使用.toObject()
方法沒有運氣。
已嘗試航行0.10.5和0.11.0沒有運氣。
當然。問題是,當我嘗試手動設置程序屬性時,它只是沒有設置。這就是爲什麼我很困惑。請仔細閱讀問題或嘗試演示。我很欣賞時間來回應,但你的回答並不涉及到問題 –
我沒有看到問題,一切正常:http://pastebin.com/A6s9es9L。無論如何,我有三個問題:1.你使用什麼版本的Sails?在你的回購是0.10.5,爲什麼? 2.爲什麼你不會像'Procedure.find({appointment:1})那樣簡單地請求。populate('procedureItem')'? 3.爲什麼你在裏面使用Async和DB請求?做什麼的?如果您有1000條記錄並且生成1000個對數據庫的請求會怎麼樣?如果(errE)返回cb(errE);'如果_errE_不爲null,將會產生一個異常。 – Bulkin
關於異步。如果您需要請求_appointment_的數量,您可以使用* Procedure.find({appointment:[1,2,3]})的語法* populate('procedureItem')並獲取該_appointments_的所有_procedures_一個請求 – Bulkin