Node.js 如何定制查询以获得特定标题?

Node.js 如何定制查询以获得特定标题?,node.js,mongoose,mongodb-query,Node.js,Mongoose,Mongodb Query,我在我的app.js文件中有一个查询,在http://localhost:4100/list。顾名思义,列表页面显示数据库中存储的所有交易的列表,尽管我更感兴趣的是仅显示内罗毕县内的所有交易 在下面找到我的app.js文件的内容: app.get('/list', (req,res)=> { let countyName; countyName = transModel.findOne({ transCounty : /Nairobi/i, })

我在我的
app.js
文件中有一个查询,在
http://localhost:4100/list
。顾名思义,
列表
页面显示数据库中存储的所有交易的列表,尽管我更感兴趣的是仅显示内罗毕内的所有交易

在下面找到我的
app.js
文件的内容:

app.get('/list', (req,res)=> {

let countyName;
countyName = transModel.findOne({ transCounty : /Nairobi/i, })
                                    .limit(5)
                                    .select({ transCounty:1})
                                    .exec( (err, result)=> {
                                        
                                    if (err) throw err;
                                           console.log('>> ' +result); 
                                           return result;
                                        });
                                        
console.log ('countyName: ' +countyName);

transModel.find( (err, docs)=> {
if (!err) 
    {
        res.render('list',  {data : docs, countyName: countyName}); 
    }
else
    {
//          res.status(status).send(body);      
    }
        
 })

});
在终端中,上面的代码是:

countyName: undefined
>> { _id: 609f7ed8fe1fd8b3193b0b77, transCounty: 'Nairobi' }
我的
list.ejs
如下所示:

<h1> Transactions </h1>

<p>
 Name of County: <%= countyName %>  
</p>

<table>
    <tr>
        <th> _id  </th>
        <th> Transaction Amount </th>       
        <th> Transaction County </th>       
        <th> Transaction Industry </th> 
    </tr>
    <% data.forEach(function(entry) {%>
    <tr>
        <td> <%=entry._id%> </td> 
        <td> <%=entry.transAmount%> </td>       
        <td> <%=entry.transCounty%> </td>       
        <td> <%=entry.transIndustry%> </td>     
    </tr>
    <%});%>
    
</table>
事务

县名:

_身份证 交易金额 交易县 交易行业
上面的
list.ejs
文件虽然正确地呈现了包含数据库中所需内容的表,但无法选择县的名称。请帮我想一想如何才能做到这一点

在下面找到渲染的
列表的图像。ejs

请注意,县名未定义。 我如何制定我的查询,以便能够只在内罗毕生成所有事务,并在ejs文件中显示县的名称


期待您的帮助。

在使用承诺的价值之前,您应该等待承诺得到解决:

countyName = await transModel.findOne({
        transCounty: /Nairobi/i,
    })
    .limit(5)
    .select({
        transCounty: 1
    })
    .exec();

你不必等待承诺的实现。你用什么ORM?@Michael谢谢,我该如何等待承诺的解决?你能给我举个代码的例子吗?你用什么orm?@Michael对不起,我用猫鼬或汉克斯作为提示。根据您的建议更新了我的代码,我现在似乎遇到了
[对象承诺]
问题。请按此办理: