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

标签 javascript node.js sails.js

我有 3 个收藏,

用户,

Clan,有很多Clanmembers

Clanmembers,有很多User

所以当我这样做的时候

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' }

我还希望能够填充 clanmembers 数组的owners 这样我就可以获得用户名和其他什么氏族成员,我该如何填充这个嵌套数组?或者这是不可能的,我将不得不通过他们的 ID 循环/找到每一个。任何信息都将非常感谢。

最佳答案

虽然它已经在 talks 中,但目前无法完成。很长一段时间。

如您所述,您必须手动进行填充。但是您可以避免对每个子文档进行单独调用。

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

关于javascript - 如何使用 SailsJS 填充嵌套的相关集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33338732/

相关文章:

mongodb - 使用 SailsJS 更新 MongoDb 中的对象数组

javascript - Font Awesome 性能

javascript - 在 sails.js 中放置 socket.io 逻辑的好地方在哪里

javascript - 与 Shopify 一起使用 sharethis API 时不存在 'Access-Control-Allow-Origin' header

javascript - NodeJS 中未定义模块

node.js - Botframework( Node )- 对话框数据剥离正则表达式

javascript - Promise.resolve()和resolve()之间的区别?

reactjs - POST sails 服务器 api 并 react 客户端 500(内部服务器错误)

javascript - 如何停止ngDraggable Angular js中的点击事件?

javascript - 如何使用 Angular 对带有 Promise 和回调函数的函数进行单元测试