Предполагая, что стандартный пример врачей и patiens, используемых StrongLoop (https://docs.strongloop.com/display/public/LB/HasManyThrough+relations):Как фильтровать через модель?
общего/модель/physician.json
{
"name": "Physician",
"base": "PersistedModel",
"properties": {
"name": {
"type": "string"
}
},
"validations": [],
"relations": {
"patients": {
"type": "hasMany",
"model": "Patient",
"foreignKey": "patientId",
"through": "Appointment"
},
общего/модель/patient.json
{
"name": "Patient",
"base": "PersistedModel",
"properties": {
"name": {
"type": "string"
}
},
"validations": [],
"relations": {
"physicans": {
"type": "hasMany",
"model": "Physician",
"foreignKey": "physicianId",
"through": "Appointment"
},
общих /models/prointment.json
{
"name": "Appointment",
"base": "PersistedModel",
"properties": {
"appointmentDate": {
"type": "date"
}
},
"validations": [],
"relations": {
"physician": {
"type": "belongsTo",
"model": "Physician",
"foreignKey": "physicianId"
},
"patient": {
"type": "belongsTo",
"model": "Patient",
"foreignKey": "patientId"
},
Как я могу получить пациента от фильтрации врача по заданию?
Я пытался использовать что-то вроде этого:
Physician.findOne({
"where": {"id": physId},
"include": {
"relation": "patients",
"scope": {
"where": {
"appointmentDate": { "gt": fixedDate }
}
}
}
}, callback);
но мне кажется, что Loopback ищет appointmentDate на модели пациента, а не на Назначение модели.
Некоторые полезные советы? Спасибо!
Вы должны проверить mongoose :) http://mongoosejs.com Также обратите внимание, что отношения внутри MongoDB не идеальны, поэтому вы можете переосмыслить свои модели баз данных :) –