【发布时间】:2016-04-13 10:54:22
【问题描述】:
我的文档包含多个字段,包括一系列其他文档。我可以成功查询我的目标文档并获取大部分字段,但由于某种原因我无法获取数组。
下面是我如何查询文档和获取字段的一些小插曲:
Asset.findOne({
project: asset.project,
ip: asset.ip
}, function(err, match) {
if (err) { return next(err); }
if (match) {
console.log(match);
console.log(match.project);
console.log(match.traffic);
});
});
下面是控制台日志的示例:
{ __v: 0,
project: 'test',
traffic:
[ { rport: 39110,
protocol: 'tcp',
destination: '10.0.7.30',
lport: 50 },
{ rport: 49123, protocol: 'tcp', source: '10.0.7.29', lport: 21 } ],
mac: 'update',
ip: '10.0.7.27',
_id: 568fbd22ca70246a168d45aa }
test
undefined
如您所见,console.log(match) 为我们提供了整个文档。该文档有一个project 字段,我可以使用match.project 获得。然而match.traffic 返回undefined。可以看到,返回的文档中肯定有traffic数组字段。
如何从我的文档中访问数组?
【问题讨论】:
标签: arrays node.js mongodb mongoose