몽구스에는 querystreams라는 기능이 있다는 힌트가 있습니다. 그게 내 해결책으로 이어진다.
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 함수를 사용한 후에, 내 데이터베이스에서 모든 것을 maiodb에있는 두 번째 항목의 메일 인 mails [1]와 같은 배열로 가져 왔습니다. 이를 통해 함수를 사용하여 데이터베이스의 전체 내용을 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;
}
그래서 당신이 당신 nodejs에이 기능을 추가해야합니다, 당신은 html 코드를 작성하는 경우 :
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();
내가 좋아하는 :)
안녕하세요, 귀하의 빠른 답변을 주셔서 감사합니다,하지만이 "정의되지 않은"출력에 연결됩니다. 나는 docs.name이 나에게 속성 이름의 정보만을 줄 수 있다고 생각했지만 잘못된 것이므로 여러분은 그렇게 보인다. 그러나 당신이 향하고있는 방향, 나는 좋아한다.) – Sebastian
"console.log (docs [0]);" "_id : xxx ... xxx"값만 있으므로 속성 이름이없는 것으로 보입니다. "console.log (docs);"를 실행하면 결과는 "[{name : 'Mr. Banana', _id : 123aclongvalueinHEX001c000001}]"이므로 단일 항목을 호출하면 이름이 손실됩니다. 기묘한. 그러나! 내가 "console.log (docs.name);" 결과는 또한 정의되지 않습니다 ... 꽤 짜증나게합니다. – Sebastian
cmdshell을 실행할 때와 같은 이상한 동작을 보았습니다. 사용중인 것을 볼 수 있습니다. 프로그램을 파일에 넣고 셸 외부에서 실행 해보십시오. – JohnnyHK