我的問題基本上是,我如何爲超過3個相關模型啓用nestRemoting(nested queries for related models)?爲兩個以上級別啓用nestRemoting(對於嵌套查詢)
目前我正在使用4個相關模型,並希望能夠一直向上或向下進行嵌套查詢,現在我只能爲3個模型(即2個級別和2個級別下)。
什麼工作:
因此,例如,我有我的帳戶模型,該模型是一切的根源,即所有其它車型最終導致帳戶),然後我也假設項目,文件夾,然後照片作爲葉子。
我已經配置了我的關係,它工作得很好,例如,
- 帳戶的hasMany項目
- 項目的hasMany文件夾
- 文件夾的hasMany照片
和周圍的其他方法還有:
- 照片屬於關聯文件夾
- 文件夾屬於關聯項目
- 項目屬於關聯賬戶
終於在我的代碼我說:
// Configure one way of the relation
Account.nestRemoting('projects');
Project.nestRemoting('folders');
Folder.nestRemoting('photos')
// Configure the other way of the relation
Photo.nestRemoting('folder')
Folder.nestRemoting('project')
Project.nestRemoting('account');
這工作奇妙,讓我很喜歡
/api/Accounts/<account id>/projects/<project id>/folders
東西才能拿到屬於一個文件夾列表到那個帳戶。
,反之亦然,我能夠做的其他方式:
/api/Photos/folder/project/
但是:
當我嘗試多了一個嵌套的水平在任何一個方向,我得到一個添加到查詢錯誤。
I.e.如果我嘗試做
/api/Accounts/<account id>/projects/<project id>/folders/<folder id>/photos
,或者如果我做
/api/Photos/folder/project/account
我收到以下錯誤:
"name": "Error",
"status": 404,
"message": "Shared class \"Account\" has no method handling GET /<uuid>/projects/<uuid>/folders/<uuid>/photos?access_token=XXXXXXXXXXXXXXX",
"statusCode": 404,
"stack": "Error: Shared class \"Account\" has no method handling GET /<uuid>/projects/<uuid>/folders/<uuid>/photos?access_token=XXXXXXXXXXXXXXX\n at restRemoteMethodNotFound (/myserver/node_modules/loopback/node_modules/strong-remoting/lib/rest-adapter.js:322:17)\n at Layer.handle [as handle_request] (/myserver/node_modules/loopback/node_modules/express/lib/router/layer.js:95:5)\n
(我更換爲redability實際的ID)
但是,只有當我嘗試查詢模型上方的2個以上的級別(或2級以下)時,纔會觸發此錯誤。
因此,舉例來說,如果我下面開始(例如,在項目,而不是賬戶)一層:
/api/Projects/<project id>/folders/<folder id>/photos
這工作得很好。
或者周圍的其他方法:這告訴我的方法和一切工作按預期但對嵌套水平的限制
/api/Folders/project/account
。
回到我原來的問題,我該如何添加更多級別嵌套查詢?有什麼我可以配置沒有修改loopback的源代碼?
順便說一句,我的數據源是一個MongoDB實例(即MongoDB的連接器)
謝謝!
我不認爲這是現成可用的。查看[相關的github問題](https://github.com/strongloop/loopback/issues/2346)。檢查可能的解決方法的註釋。 –
你似乎是對的。謝謝伊凡! 我期待着看我是否可以添加一些東西,以使其工作。 – Acapulco