将MongoDB / ExpressJS查询存储到数组中并显示到HTML表中

我正在尝试学习如何获取已经存储在MongoDB中的数据,并将其显示为HTML中的表格。 我从来没有使用过HTML或JavaScript,所以我决定首先在我的HTML代码中创build一个脚本,并使用循环显示一个简单的表格:

<div> <script> var words = ["One", "Two", "Three", "Four", "Five", "Six", "Seven"]; var numbers = [1,2,3,4,5,6,7]; document.write('<table>'); for (var i =0; i < words.length; i++){ document.write('<tbody><tr><td>' + words[i] + '</td>' + '<td>' + numbers[i] + '</td></tr></tbody>' ); } document.write('</table>'); </script> </div> 

我得到的输出是:

 One 1 Two 2 Three 3 Four 4 Five 5 Six 6 Seven 7 

现在我已经知道语法是如何工作的了,我想用NodeJS / ExpressJS / Mongoose来从MongoDB获取文档,并将它们存储到一个数组中,并将它们显示为一个表格。

在db test和collection test1里已经存在的我的MongoDB Schema是:

 { "_id": ObjectId("fffffffffffffff"), "Words": "One", "Numbers": 1 } { "_id": ObjectId("aaaaaaaaaaaaaaa"), "Words": "Two", "Numbers": 2 } ... 

我想从文档中查询和存储“Words”和“Numbers”的值到数组wordArraynumArray ,并将它们显示为表格。

我发现了这些相关的问题:

用HTML显示MongoDB文档

在HTML中显示MongoDB值

如何在Express框架中使用HTML与nunjucks-没有玉

我将如何去做我想做的事情? 我应该看哪一个链接? 因为我很迷茫,不知道从哪里开始。 是否有捷径可寻? 我尝试了以下操作:

 <script> //import express package var express = require("express"); //import mongodb package var mongodb = require("mongodb"); //MongoDB connection URL - mongodb://host:port/dbName var dbHost = "mongodb://localhost:27017/test"; //DB Object var dbObject; //get instance of MongoClient to establish connection var MongoClient = mongodb.MongoClient; //Connecting to the Mongodb instance. //Make sure your mongodb daemon mongod is running on port 27017 on localhost MongoClient.connect(dbHost, function(err, db){ if ( err ) throw err; dbObject = db; }); //use the find() API and pass an empty query object to retrieve all records dbObject.collection("test1").find({}).toArray(function(err, docs){ if ( err ) throw err; var wordArray = []; var numArray = []; for ( index in docs){ var doc = docs[index]; var words = doc['Words']; var numbers = doc['Numbers']; wordArray.push({"value": words}); numArray.push({"value" : numbers}); } } </script> 

我可以做这样简单的事情,然后只是访问wordArray和numArray?

好的这个例子是基于MongoDB的驱动程序,你使用包装如mongoose或和尚是可取的。 首先从您的数据库中提取数据并将其存储在数组中。 例如,在存储arr = ['dta','nio']以将这些数据指向您的视图或网页,您需要一个模板绑定引擎后,我通常使用EJS,因为它简单和自然的感觉.EJS结合数据和模板来生产HTML。 您因此将JavaScriptvariables绑定到html文件。 这是一个链接到ejs。 http://www.embeddedjs.com/

在这里与mongoose说是一个很好的联系。 https://scotch.io/tutorials/using-mongoosejs-in-node-js-and-mongodb-applications

这是一个EJS的链接,节点为https://scotch.io/tutorials/use-ejs-to-template-your-node-application