我正在尝试从mongodb对象输出数组依赖项。我已经尝试了几乎所有方法,但是不断变得不确定。
我可以输出整个对象,但是我想要每个依赖项的名称版本。
{ _id: 5c6eea28c6c23a15beb43419,
Repo_id: [ 1 ],
name: 'express-ibm',
version: '0.0.0',
dependencies:
[ { name: 'async', version: '2.6.1' },
{ name: 'body-parser@1.18.3', version: '1.18.3' },
{ name: 'cookie-parser@~1.4.3', version: '1.4.3' },
{ name: 'debug@~2.6.9', version: '2.6.9' },
{ name: 'express@~4.16.0', version: '4.16.4' },
{ name: 'http-errors@~1.6.2', version: '1.6.3' },
{ name: 'mongoose', version: '5.3.13' },
{ name: 'morgan@~1.9.0', version: '1.9.1' },
{ name: 'pug@2.0.0-beta11', version: '2.0.0-beta11' } ] }
// Display detail page for a specific Repo
exports.repo_search = function(req, res, next) {
Repo.findById(req.params.id).populate('repo').exec(function(err, repo) {
if (err) {
return next(err);
}
if (repo == null) {
// No results.
var err = new Error('Repo copy not found');
err.status = 404;
return next(err);
}
console.log(repo);
Repo.find().exec(function(err, list) {
if (err) {
return next(err);
}
res.render('repo_info_detail', {
title : 'Repo Detail',
repo : repo,
list : list
// repo_dependencies: results.repo_search
});
});
});
};
哈巴狗:
extends layout
block content
p#demo
h1 #[Repository Name :] #{repo.name}
dd #[ IBM Github URL:]
a(href='/'+repo.url) #{repo.url}
dd #[ Repository ID:] #{repo._id}
dd #[ Language Type:] #{repo.filetype}
dd #[Repo ID :] #{repo.Repo_id}
//dd #[dependencies: ] #{repo.dependencies.name}
div(class='col')
div(class='col-sm-8')
p
button.hidediv Hide dependencies
button.showdiv Show dependencies
.divdemo
| Dependencies
.button
a#export(href='#', role='button')
| Click On This Here Link To Export The Table Data into a CSV File
div(class='col')
div(class='col-sm-3')
table
thead
tr: th Name
tbody
each d in repo
tr
td
dd #{repo}
答案 0 :(得分:0)
repo
是一个javascript对象,您正在使用点语法(例如repo.name
或repo.dependencies
)正确访问其属性。但是,repo.dependencies
是对象的数组。它没有可以使用点语法访问的name
属性。相反,您必须遍历子对象并依次访问它们的每个name
属性。
h1 Repository Name: #{repo.name}
dl
dt IBM Github URL:
dd #[a(href='/'+repo.url) #{repo.url}]
dt Repository ID
dd #{repo.Repo_id}
dt Dependencies
each dependency in repo.dependencies
dd #{dependency.name} (v#{dependency.version})
看看pug tab interpolation的语法,看来您在示例中使用的语法不正确。
此外,请查阅有关dd
元素的正确用法以及如何与dt
元素一起使用的文档。它们还必须是描述列表(dl
)元素的子元素:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dl