Express .map函数不返回值

我在视图文件中有一些jquery,我想要使用名称discoverySource获取各个字段的所有值。 由于堆栈用户的一些帮助,解决方案是使用lodash模块,然后将数组映射到单个值,以适合我的sequelize BulkCreate函数。 使用我当前的post设置,.map方法根据填写的字段数量正确地在我的数据库中创建单独的行,但由于某种原因,值未被传递。 我不确定发生这种情况的原因是因为正文解析器值是正确的,并且值正在被设置的变量之外的任何地方正确记录。 我在每个console.log旁边注释,以显示返回的值。 我的问题是我收到了map方法的undefined[object Object] 。 网站1,网站2,网站3,是我对这些领域的测试值

这是我的路线:

 .post(function(req, res){ console.log(req.body.discoverySource); //[ 'Website 1', 'Website 2', 'Website 3' ] var sources = _.map(req.body.discoverySource, function (source) { return { discoverySource: source, organizationId: req.body.organizationId }; }); console.log("These are the" + sources); //These are the[object Object],[object Object],[object Object] console.log(sources.discoverySource); //undefined console.log(sources.organizationId); //undefined models.DiscoverySource.bulkCreate(sources) .then(function(){ return models.DiscoverySource.findAll(); }).then(function(discoverySource){ console.log(discoverySource); res.redirect('/app'); }).catch(function(error){ res.send(error); console.log('Error during Post: ' + error); }); }); 

这是我的观点:

   {{> head}}   {{> navigation}} 

{{user.email}}

Add Another

Already have an account? Login here!
$(function() { var dataSourceField = $('#sign-up-organization-discovery-source'); var i = $('#sign-up-organization-discovery-source p').size(); var sourceCounter = 1; $('#sign-up-add-discovery-source').on('click', function() { $('

Remove

').appendTo(dataSourceField); i++; return false; }); $('#sign-up-organization-discovery-source').on('click', '.remove', function() { if (i > 1) { $(this).parent('p').remove(); i--; } return false; }); });

使用bulkCreate(),您需要直接传递数组。

 models.DiscoverySource.bulkCreate(sources) 

模式是:

 Model.bulkCreate( 

如下所示: http : //sequelize.readthedocs.org/en/latest/api/model/#bulkcreaterecords-options-promisearrayinstance

这个:-

 return { discoverySource: source, organizationId: req.body.organizationId }; 

创建一个具有2个属性的对象, discoverySourceorganizationId

所以sources是一个对象数组。 [object Object],[object Object],[object Object]

这个:-

 console.log(sources.discoverySource); //undefined console.log(sources.organizationId); //undefined 

undefined因为您在数组上查找discoverySourceorganizationId ,而不是在数组中的对象上查找。

尝试:-

 console.log(sources[0].discoverySource); //discoverySource on 1st object in the array console.log(sources[0].organizationId); //organizationIdon 1st object in the array