我得到了猫鼬具有称为查询流的功能的提示。这导致了我的解决方案。
var Bericht = new Schema({
name : String
, mail : String
, standort : String
, betreff : String
, inhalt : String
, datum : Date
});
var Bericht = mongoose.model('Bericht', Bericht);
var stream = Bericht.find().stream()
, names = []
, mails = []
, standorts = []
, betreffs = []
, inhalts = []
, datums = []
, i=0;
function closeHandler() {
function closeHandler() {
console.log(JSON.stringify(names));
};
stream.on('data', function (doc) {
if (doc.name) {
names.push(doc.name);
mails.push(doc.mail);
standorts.push(doc.standort);
betreffs.push(doc.betreff);
inhalts.push(doc.inhalt);
datums.push(doc.datum);
}
})
stream.on('close', closeHandler)
我的架构有多个名称,在本例中是 6 个属性。使用 stream.on 函数后,我将数据库中的所有内容放入一个数组中,例如 mails[1] 是我的 mongodb 中第二个条目的邮件。有了它,我可以使用函数轻松地在 html 中显示我的数据库的全部内容。也许这太多了,但由于喜欢这个板,我会完成这个线程。
使用此函数,您将构建一个包含所有名称的简单表作为返回值:
function namestable(){
value = "<table border='1'><tr><th>Namen</th></tr>"
for(var i=0;i<names.length;i++){
value+="<tr><td>"+names[i]+"</td>";
;}
value+="</table>";
return value;
}
因此,当您构建 html 代码时,您只需将此函数添加到您的 nodejs 中:
var body = '<html>'+
'<head>'+
'<meta http-equiv="Content-Type" content="text/html; '+
'charset=UTF-8" />'+
'</head>'+
'<body>'+
'<form action="/upload" method="post">'+
namestable()+
'<input type="submit" value="Hario" />'+
'</form>'+
'</body>'+
'</html>';
response.writeHead(200, {'Content-Type': 'text/html'});
response.write(body);
response.end();
我喜欢 :)