knex 与相关 returns collection 碱基
knex with related returns collection bases
在我帮助重写的 NodeJS/Knex/Bookshelf 应用程序中,我正在对 User
模型进行 withRelated
查询以获取消息和兴趣:
return User.query({where: {id: user.id}})
.fetch({withRelated: ['messages', 'interests']}).then(function(user) {
return {
id: user.id,
prop1: user.related('messages'),
prop2: user.related('interests'),
};
});
但它正在 return返回 CollectionBases:
{ id: 1,
messages:
CollectionBase {
model: { ... }
}
}
interests:
CollectionBase {
model: { ... }
}
}
但我需要它 return 实际的数据数组 objects:
{ id: 4068,
messages:
[ { id: 2,
title: 'Customer',
_pivot_user_id: '1',
_pivot_user_role_id: '2' } ],
interests:
[ { id: 86,
name: 'interest1',
_pivot_user_id: '4068',
_pivot_org_id: '86' } ] }
如果我尝试JSON'化它,我得到错误:
user.toJSON is not a function
var user = {
id: user.id,
prop1: user.related('messages'),
prop2: user.related('interests'),
};
return user.toJSON();
如何为用户 return 每个相关 objects 的 objects 数组?
而不是:
return user.toJSON();
尝试做:
return JSON.stringify(user);
如果你真的想要JSON,或者这个:
var user = {
id: user.id,
prop1: user.related('messages').toJSON(),
prop2: user.related('interests').toJSON(),
};
如果您想要一个在序列化为 JSON 之前看起来像的 JS 对象。
在我帮助重写的 NodeJS/Knex/Bookshelf 应用程序中,我正在对 User
模型进行 withRelated
查询以获取消息和兴趣:
return User.query({where: {id: user.id}})
.fetch({withRelated: ['messages', 'interests']}).then(function(user) {
return {
id: user.id,
prop1: user.related('messages'),
prop2: user.related('interests'),
};
});
但它正在 return返回 CollectionBases:
{ id: 1,
messages:
CollectionBase {
model: { ... }
}
}
interests:
CollectionBase {
model: { ... }
}
}
但我需要它 return 实际的数据数组 objects:
{ id: 4068,
messages:
[ { id: 2,
title: 'Customer',
_pivot_user_id: '1',
_pivot_user_role_id: '2' } ],
interests:
[ { id: 86,
name: 'interest1',
_pivot_user_id: '4068',
_pivot_org_id: '86' } ] }
如果我尝试JSON'化它,我得到错误:
user.toJSON is not a function
var user = {
id: user.id,
prop1: user.related('messages'),
prop2: user.related('interests'),
};
return user.toJSON();
如何为用户 return 每个相关 objects 的 objects 数组?
而不是:
return user.toJSON();
尝试做:
return JSON.stringify(user);
如果你真的想要JSON,或者这个:
var user = {
id: user.id,
prop1: user.related('messages').toJSON(),
prop2: user.related('interests').toJSON(),
};
如果您想要一个在序列化为 JSON 之前看起来像的 JS 对象。