水线:访问模型中的填充值

我正在使用sails.js来开发我的第一个应用程序。 我有一个水线模型如下所示。

//ModelA.js module.exports = { attributes: { //more attributes userId: { model: 'user' }, //more attributes } }; 

我在我的一个控制器中使用模型,如下所示。

  ModelA.find(options) .populate('userId') .exec(function (err, modelA) { //some logic //modelA.userId is undefined here res.json(modelA); //userId is populated in the JSON output }); 

如何访问模型中的填充值?

ModelA.find返回项目数组。

  ModelA.find(options) .populate('userId') .exec(function (err, results) { console.log(results[0].userId) //results is an array. //res.json(modelA); }); 

或者您可以使用ModelA.findOne作为单个logging

这是因为find返回一个logging数组。 您必须使用索引访问对象,然后使用该对象的userId。

 ModelA.find(options).populate('userId').exec(function (err, recordsOfModelA) { if(err) console.log(err); else console.log(recordsOfModelA[0].userId) });