我如何使用SailsJS填充嵌套的相关集合?

我有3个系列,

Users

Clan ,有许多Clanmembers

有许多Users Clanmembers

所以当我这样做

Clan.find().populate('clanmembers');

它工作正常,并返回结果,但后来我得到了这样的事情:

 { clanmembers: [ { role: 'Entry', owner: 2, member: 2, id: 1, createdAt: null, updatedAt: null } ], owner: { username: 'tester', email: 'tester', about: 'This is\n\na test hello\n\n\n\n\n\n\n\n\nhiiii', profileurl: '', avatar: 'asd.jpg', rank: '1', id: 2, createdAt: '2015-10-25T10:15:20.000Z', updatedAt: '2015-10-25T21:31:47.000Z' }, clanname: 'testset', clantag: 'testin', id: 2, createdAt: '2015-10-26T01:07:02.000Z', updatedAt: '2015-10-26T01:07:02.000Z' } 

我想要的是也能够populate clanmembers数组的owners以便我可以获得用户名和什么不是的clanmembers,我怎么能填充这个嵌套的数组? 或者是不可能的,我将不得不循环/find每个人的ID。 任何信息将是非常感谢你。

尽pipe已经进行了相当长时间的谈判 ,但迄今还不能完成。

正如你所提到的,你必须手动做人口。 但是,您可以避免为每个子文档分别调用。

我通常做的是在数组中收集所需的id,然后对数据库运行一个查询,然后维护一个文档的id映射,这使得在多个地方使用它非常方便。