gpt4 book ai didi

node.js - 在jade模板中从mongodb检索数据

转载 作者:太空宇宙 更新时间:2023-11-03 22:38:34 26 4
gpt4 key购买 nike

我是 Node 和 mongodb 的新手,并且尝试在模板中呈现数据库查询,但收到属性未定义的错误:

Cannot read property 'firstname' of undefined

这是我的 index.js 文件:

var dburl = 'localhost/olpdb';


var collections = ['users'];


var db = require('mongojs').connect(dburl, collections);

var currentUsers = db.users.find();

exports.index = function(req, res){
res.render('index', currentUsers);
};

在index.jade模板中,我有:

#{currentUsers.firstname}

我单独查询了​​数据库,知道有一条记录:

> db.users.find()
{ "firstname" : "andy", "lastname" : "johnson", "email" : "andy@johnson.com", "_id" : ObjectId("51adf8a8c58996cf0c000001") }

任何人都可以帮助我解决我做错的事情吗?我正在尝试将对象传递给模板,以便我可以提取数据。

最佳答案

在您的代码中,currentUsers 可能是一个 API 对象(查询或类似对象)。为了使用查询的结果,您需要使用回调:

exports.index = function(req, res){
db.users.find(function(err, currentUsers) {
res.render('index', {
currentUsers: currentUsers
});
});
};

现在您可以使用 Jade 模板中的 currentUsers 数组:

#{currentUsers[0].firstName}

关于node.js - 在jade模板中从mongodb检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16920981/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com