水线:访问模型中的填充值
我正在使用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) });