我有一个名为Business的模型,它有一个类型为modal的地址:地址, 我想在创建业务时发送带有业务数据的地址对象而不是id。 简单的create方法只是返回创建的地址对象的id 我想填充回复 这就是我使用它的原因:
register: function(req, res) {
const values = req.body;
Business.create(values).then(function(response) {
Business.findOne({ id: response.id }).populate('address').then(function(response) {
res.ok(response);
});
});
},
但我不认为这是一种正确的方式..我再次查询数据库以填充结果。这给了我我想要的东西。 我想用这样的东西:
register: function(req, res) {
const values = req.body;
Business.create(values).then(function(response).populate('address') {
res.ok(response);
});
},
或删除对数据库的第二个查询的任何内容
我知道这很疯狂......但请帮忙
模型是
module.exports = {
schema: true,
attributes: {
name: {
type: 'string'
},
description: {
type: 'string'
},
address: {
model: 'Address'
},
email: {
type: 'email',
unique: true
},
landline: {
type: 'string'
},
logo: {
model: 'Image'
},
status: {
type: 'string',
enum: ['open', 'closed'],
defaultsTo: 'open'
},
uniqueBusinessName: {
type: 'string',
unique: true
},
},
};
答案 0 :(得分:2)
create
类方法不支持populate
,因此您执行此操作的方式是正确的。如果您想将此作为一项功能提出,请查看Sails.js项目guidelines for proposing features and enhancements!