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() (и не редактировать/переопределить его), чтобы добавить объект продукта перед отправкой клиенту? Есть ли лучший способ сделать это?
У меня аналогичная проблема, когда я хочу, чтобы испустить событие после того, как проект собирает свои данные (в моем случае для целей лесозаготовок деятельности). На данный момент, я думаю, что я застрял в копировании контрольных контроллеров Sails дословно. –
Как примечание стороны вам не нужно ** GET/products /: productid ** n раз. Сделайте ** GET/products/** с предложением WHERE IN и массивом идентификаторов (и соответствующего предела). Затем на переднем конце установите продукты на основе результатов. Это сэкономит вам массу сетевых издержек. –