【发布时间】:2016-09-12 08:10:51
【问题描述】:
我有一个端点将user 和user_emails 表作为一对多关系(postgresql)连接起来。如下所示。
router.get('/', function (req, res, next) {
db.select('users.id', 'users.name', 'user_emails.address')
.from('users')
.leftJoin('user_emails', 'users.id', 'user_emails.user_id')
.then(users => res.status(200).json(users))
.catch(next) // go to error handler
});
但是,这将为每个电子邮件地址返回一个新文档。我想要的是一组文档,如下所示:
[{
id: 1,
name: 'Steve',
emails: [
{ address: 'hello@world.org' },
{ address: 'meow@meow.org' }
]
}, {
id: 2,
name: 'Jimmy',
emails: [
{ address: 'jimmy@jimbo.org' }
]
}]
这在knex中应该怎么做?
【问题讨论】:
-
如果我理解正确,你会为每个地址获得 1 行,但你希望它嵌套到“名称”?
-
嵌套到
emails作为数组但是是的
标签: javascript node.js postgresql knex.js