0
我是新的節點js。我試圖從mongodb數據中獲取數據,數據完美存儲。但是當我想回到它不工作我使用一個數組然後我把它傳遞給HTML頁面,該數組的元素更改只在循環中,之後,我總是得到array.lengh等於1.節點js mongodb獲取數據
var express = require('express');
var async = require('express-async');
var MongoClient = require('mongodb');
var assert = require('assert');
var router = express.Router();
var url = "mongodb://localhost:27017/mydb";
router.get('/',function (req,res,next) {
aray = [{
FirstName: "da",
LastName: "m",
contry: "l"
}]
MongoClient.connect(url, function (err, db) {
if (err) throw err;
var cursor = db.collection('usercollection').find();
console.log("funBD")
cursor.each(function (err, doc) {
assert.equal(null, err);
console.log(doc);
if (doc != null)
aray.push(doc);
},function() {
db.close();
res.render('Profil',{items:aray});
});
});
});
module.exports = router;
的html頁面:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/html">
<head>
<meta charset="utf-8" />
<style>
h1{
tab-size: 20;
text-align: center;
}
</style>
</head>
<body>
<% for(var i=0; i<items.length; i++) { %>
<li>
<%= items[i].FirstName %>
</li>
<% } %>
</body>
</html>
謝謝!
你使用哪種版本的MongoDB?我檢查了[docs](https://docs.mongodb.com/manual/tutorial/iterate-a-cursor),我發現不是cursor.each(),你必須使用cursor.forEach()。它是否與這個改變一起工作? –
我嘗試過,但當我使用cursor.forEach我得到這個錯誤 TypeError:cursor.Foreach不是一個函數 – dal
MongoDb的版本是3.4 – dal