Node.js 在ejs页面上显示MongoDB查询结果

Node.js 在ejs页面上显示MongoDB查询结果,node.js,mongodb,express,ejs,Node.js,Mongodb,Express,Ejs,我有一个路由器,它根据MongoDB的唯一对象id返回specefic用户的信息。这很好,我得到了正确的结果,但它们作为JSON对象返回到一个“空白”页面上。我只想获取结果并在我的ejs页面上呈现它们。以下是我的路线: //Here are my router.js: router.get('/user/get:id', function (req, res) { MongoClient.connect(DBUri,{useUnifiedTopology: true }, functi

我有一个路由器,它根据MongoDB的唯一对象id返回specefic用户的信息。这很好,我得到了正确的结果,但它们作为JSON对象返回到一个“空白”页面上。我只想获取结果并在我的ejs页面上呈现它们。以下是我的路线:

//Here are my router.js:

router.get('/user/get:id', function (req, res) {
    MongoClient.connect(DBUri,{useUnifiedTopology: true }, function (err, db) {
        let dbo = db.db(DBName);
        const query = {_id: objectId(req.params.id)}
        dbo.collection("Users").find(query).toArray(function(err, resultTasks) {
            if (err) throw err;
            res.send(resultTasks)
            db.close();
        });
    });
});


//Here are my file.ejs: 

<div class="card" v-for="post in filteredList">
     <a v-bind:href="'/user/get' + post.id">{{ post.name }}</a>
</div>
//这是我的router.js:
router.get('/user/get:id',函数(req,res){
connect(DBUri,{useUnifiedTopology:true},函数(err,db){
设dbo=db.db(DBName);
常量查询={u id:objectId(req.params.id)}
dbo.collection(“Users”).find(query).toArray(函数(err,resultTasks){
如果(错误)抛出错误;
res.send(resultTasks)
db.close();
});
});
});
//以下是我的file.ejs:

我还是新的,所以我知道这是正确的基本。我想我必须将res.send更改为其他内容,但现在确定如何更改。

您需要在ejs模板中循环
结果任务,例如:

<% resultTasks.forEach((post) => { %> 
  <div class="card" v-for="post in filteredList">
     <a v-bind:href="/user/get/<%= post.id %>"><%= post.name %></a>
  </div>
<%}); %>

嘿,达里奥。谢谢你的帮助!我记下了你的答案以解决我的问题。
dbo.collection("Users").find(query).toArray(function(err, resultTasks) {
    if (err) throw err;
    db.close();
    res.render('<path of your ejs file>', {
        resultTasks: resultTasks, // pass data from the server to the view
    });
});