我有一个基本的用户集合,包含如下文档:
{
user: 3949fj9fn9rjhfne93,
name: "Jerry",
country: 'au',
friends: ['20fn39r4hf93', 'g9en3irhr934', '4i5henifuw92']
}
这些朋友中的每一个也都有相同的文档,还有大量国家可以通过国家/地区代码查询。
{
code: 'AU',
name: 'Australia'
}, {
code: 'NZ',
name: 'New Zealand'
}
我的问题是,如何在结果中包含每个数组项的完整文档,如下所示:
{
user: 3949fj9fn9rjhfne93,
name: "Jerry",
country: {
code: 'AU',
name: 'Australia'
},
friends: [{
user: 20fn39r4hf93,
name: "Bob",
friends: ['2049429fr', 'djwij393i4']
}, {
user: g9en3irhr934,
name: "Foo",
friends: []
}, {
user: 4i5henifuw92,
name: "Bar",
friends: ['2049429fr']
}]
}
我在我的应用程序中使用Mongoose,我知道这可以通过使用简单的for
循环并将结果推送到用户对象然后在res.json(user)
的节点中返回来完成,如果用户有数百(甚至数千)的朋友怎么办?请求将是巨大的。我还需要在我的API中的多个位置执行此操作。
有没有更有效的方法来实现这一目标?