Javascript Node.js连接到mongodb

Javascript Node.js连接到mongodb,javascript,node.js,mongodb,express,Javascript,Node.js,Mongodb,Express,我一直在尝试让mongodb node.js、express和jade一起工作,但我无法让程序访问数据库中的任何信息 下面是app.js中用来访问数据库的代码 var mongo = require('mongodb'); var monk = require('monk'); var db = monk('localhost:27017/nodetest1'); ....a few lines down.... app.use(function(req,res,next){ req.d

我一直在尝试让mongodb node.js、express和jade一起工作,但我无法让程序访问数据库中的任何信息

下面是app.js中用来访问数据库的代码

var mongo = require('mongodb');
var monk = require('monk');
var db = monk('localhost:27017/nodetest1');
....a few lines down....
app.use(function(req,res,next){
    req.db = db;
    next();
});
以下是处理路由的代码:

/* GET Userlist page. */
router.get('/userlist', function(req, res) {
    var db = req.db;
    var collection = db.get('usercollection');
    collection.find({},{},function(e,docs){
        res.render('userlist', {
            "userlist" : docs
        });
    });
});
下面是userlist.jade中的代码:它的设计目的纯粹是为了弄清楚userlist的内容是什么。它应该包含数据库中的信息(有3个条目,每个条目有2个数据)。我从一个在线运行的示例中得到了其他jade代码,基本上只是一个“Hello World”程序

doctype html
html(lang="en")
  head
    title= pageTitle
  body
    #{userlist}
该页面将输出到:

<[object Object],[object Object],[object Object]>
userlist.jade

extends layout

block content
    h1.
        User List
    ul
        each user, i in userlist
            li
                a(href="mailto:#{user.email}")= user.username
我不确定这到底是为什么,因为我做了很多测试,以确保我发送了正确的数据,其中包括复制和粘贴教程中的代码,但它现在可以工作了


编辑:我更接近这个解决方案,确认它实际上是从服务器中提取数据,只是测试了它,并用教程验证了我应该使用的代码,它现在运行正常。添加了正确的代码。

我相信您得到了这个输出,因为回调中的文档是一个数组。您能否循环浏览文档并将单个文档打印到控制台?这将验证数据访问部分是否正常工作,然后您可以计算HTML输出

看起来您正在从数据库中重新读取三个值。您需要
JSON.stringify
它们。(或类似)+1用于教程。好的,所以我使用了JSON.stringify,我可以确认它从数据库中提取了所有数据,我仍然没有让它正确显示所有数据,但没有错误消息。我将对我的代码进行编辑
extends layout

block content
    h1.
        User List
    ul
        each user, i in userlist
            li
                a(href="mailto:#{user.email}")= user.username