У меня есть loopback.io API с базой данных MongoDB. У меня есть модель под названием Project с 2 hasMany отношенийloopback.io multiple includes
- Проект имеет много ProjectArticle объекты
- Проект имеет много ProjectWorkHours объекты
Когда я бегу я сделать запрос: http://0.0.0.0:3000/api/Projects?filter[include][projectArticles]
я получаю следующий ответ, который хорошо
{
"title": "Project 1",
"description": "My project number one",
"dateCreated": "2015-10-31T00:00:00.000Z",
"id": "5634b3af340faf570c7e70a8",
"projectArticles": [
{
"articleName": "brick",
"quantity": 5,
"unitPrice": 2,
"id": "5634b9ea5ab833960c8fbf6d",
"projectId": "5634b3af340faf570c7e70a8"
}
]
}
и когда я делаю: http://0.0.0.0:3000/api/Projects?filter[include][workHours] я получаю правильный ответ:
{
"title": "Project 1",
"description": "My project number one",
"dateCreated": "2015-10-31T00:00:00.000Z",
"id": "5634b3af340faf570c7e70a8",
"workHours": [
{
"description": "blabla",
"startDate": "2015-10-31T00:00:00.000Z",
"endDate": "2015-10-31T00:00:00.000Z",
"id": "5634e11d5f6471f10d2e0dd7",
"workHourId": "5634b3af340faf570c7e70a8"
},
{
"description": "blabla 2",
"startDate": "2015-10-31T00:00:00.000Z",
"endDate": "2015-10-31T00:00:00.000Z",
"id": "5634e1265f6471f10d2e0dd8",
"workHourId": "5634b3af340faf570c7e70a8"
}
]
}
но как я объединить два включает в одном запросе ? поэтому у меня есть следующий результат:
{
"title": "Project 1",
"description": "My project number one",
"dateCreated": "2015-10-31T00:00:00.000Z",
"id": "5634b3af340faf570c7e70a8",
"workHours": [
{
"description": "blabla",
"startDate": "2015-10-31T00:00:00.000Z",
"endDate": "2015-10-31T00:00:00.000Z",
"id": "5634e11d5f6471f10d2e0dd7",
"workHourId": "5634b3af340faf570c7e70a8"
},
{
"description": "blabla 2",
"startDate": "2015-10-31T00:00:00.000Z",
"endDate": "2015-10-31T00:00:00.000Z",
"id": "5634e1265f6471f10d2e0dd8",
"workHourId": "5634b3af340faf570c7e70a8"
}
],
"projectArticles": [
{
"articleName": "brick",
"quantity": 5,
"unitPrice": 2,
"id": "5634b9ea5ab833960c8fbf6d",
"projectId": "5634b3af340faf570c7e70a8"
}
]
}
Я попытался это: http://0.0.0.0:3000/api/Projects?filter[include][workHours]&[include][projectArticles], но это относится только первый и второй фильтр вид игнорируется
какие-либо идеи?
если вы будете продолжать читать документы: https://docs.strongloop.com/display/public/LB/Include+filter. Вы также можете использовать REST, как вы использовали до '/ customers? Filter [include] = projectArticles & filter [include] = workHours' –
Любая идея, какое решение имеет предпочтение? Мой с синтаксисом JSON или с квадратными скобками? Я предполагаю, что в конечном итоге он переводится на тот же материал, прежде чем запрашивать базу данных? – koala
вы можете использовать то, что вам подходит. это просто личное предпочтение. Я просто написал это, потому что вы использовали REST. Я использую запрос фильтра, потому что это более понятно для меня. –