有什么办法来填充创build的数据在JS(mongodb)

我有一个名为业务模型有一个types的地址对象:地址,我想发送地址对象的业务数据,而不是唯一的ID创build业务时。简单的创build方法只是返回创build的地址对象的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 }, }, }; 

create类方法不支持populate ,所以你这样做的方式是正确的。 如果您想提出这个function,请查看Sails.js项目的build议,以提供function和增强function !