2015-03-25 4 views
2

Sails.js предлагает способ заполнения объектов в отношениях от многих до многих через свой Blueprint API. Таким образом, GET /categorymodel/:categoryid/productscollection вернет все продукты, относящиеся к указанной категории. Link.Заполнение многих для многих через отношения в Sails.js

Для многих-многих Взаимоотношения между документами советуют использовать несколько отношений от одного до многих через посредническую модель для достижения желаемой организации. Недостатком этого является отсутствие возможности заполнения объектов через встроенный API Blueprint. Link.

Таким образом, при запросе для продуктов, относящихся к определенной категории, я запрашиваю GET /categorymodel/:categoryid/intermediarycollection, чтобы получить что-то вроде

[{categoryid: 1, productid: 1, id: 1}, {categoryid: 1, productid: 2, id: 2}, {categoryid: 1, productid: 3, id: 3}, ... n] 

Это означает, что клиент должен будет GET /products/:productid п раз.

Как обработать результат populate() (и не редактировать/переопределить его), чтобы добавить объект продукта перед отправкой клиенту? Есть ли лучший способ сделать это?

+0

У меня аналогичная проблема, когда я хочу, чтобы испустить событие после того, как проект собирает свои данные (в моем случае для целей лесозаготовок деятельности). На данный момент, я думаю, что я застрял в копировании контрольных контроллеров Sails дословно. –

+1

Как примечание стороны вам не нужно ** GET/products /: productid ** n раз. Сделайте ** GET/products/** с предложением WHERE IN и массивом идентификаторов (и соответствующего предела). Затем на переднем конце установите продукты на основе результатов. Это сэкономит вам массу сетевых издержек. –

ответ

0

Да! Возможно, но это своего рода хак ..?

Подложное поведение чертежей - вызывать res.ok по вашему результату из базы данных. Что, если мы изменили поведение res.ok и добавили фильтр или аналогичные пользовательские потребности?

Взгляните на этот ответ для более подробной информации: https://stackoverflow.com/a/41932352/36975

Смежные вопросы