【发布时间】:2017-05-13 17:35:05
【问题描述】:
我知道在sails 中我可以使用populate 来加入两个模型,就像在这个链接Sails model and orm 中描述的那样 例如我有 2 个模型:
// myApp/api/models/Pet.js
module.exports = {
attributes: {
name: {
type: 'string'
},
color: {
type: 'string'
}
}
}
和
// myApp/api/models/User.js
module.exports = {
attributes: {
name: {
type: 'string'
},
age: {
type: 'integer'
},
pony:{
model: 'pet'
}
}
}
然后
User.find({ name:'Mike' })
.populate('pony')
.exec(function(err, users) {}
会返回类似的结果
[{
name: 'Mike',
age: 21,
pony: {
name: 'Pinkie Pie',
color: 'pink',
id: 5,
createdAt: Tue Feb 11 2014 15:45:33 GMT-0600 (CST),
updatedAt: Tue Feb 11 2014 15:45:33 GMT-0600 (CST)
},
createdAt: Tue Feb 11 2014 15:48:53 GMT-0600 (CST),
updatedAt: Tue Feb 11 2014 15:48:53 GMT-0600 (CST),
id: 1
}]
这里 pony 是一个对象,我不喜欢那样。我想要返回结果是这样的:
[{
name: 'Mike',
age: 21,
name: 'Pinkie Pie',
color: 'pink',
id: 5,
createdAt: Tue Feb 11 2014 15:45:33 GMT - 0600 (CST),
updatedAt: Tue Feb 11 2014 15:45:33 GMT - 0600 (CST)
createdAt: Tue Feb 11 2014 15:48:53 GMT - 0600 (CST),
updatedAt: Tue Feb 11 2014 15:48:53 GMT - 0600 (CST),
id: 1
}]
(都是财产)。所以我认为在这种情况下我需要加入。怎么加入?
【问题讨论】:
-
您的预期结果对象有重复的键。那怎么应该是 JS 对象或 JSON?
-
@Sangharsh 我会在加入时重命名
标签: sails.js