javascript - 如何从 mongoDB 取回数据并正确显示?
问题描述
从 mongoDB 获取数据后,如何显示它。
例如,我有一个简单的 hbs 模板
//index.hbs
{{# each user}}
<div >
<h5>{{ user.firstName }}</h5>
</div>
<div >
<h5>{{ user.lastName }}</h5>
</div>
{{/each}}
现在我可以使用 find.() 从 mongoDB 获取记录
var mongoose = require("mongoose");
var Schema = mongoose.Schema;
mongoose.connect("connection string");
var userSchema = new Schema({
"firstName": String,
"lastName": String,
"locationID": Number
});
var User = mongoose.model("Users", userSchema);
User.find({ locationID: 1}).exec().then((data)=>{
console.log(data);
});
另外,如何从 mongoDB 中获取所有数据。不使用 find()。搜索条件。
解决方案
这是用于检索给定集合中的所有文档的更简洁的代码。您应该能够在 Postman 中对此进行测试,以验证它是否为您提供了所需的结果——这就是我在末尾包含 res.status().json() 的原因。
const getUsers = async (req, res, next) => {
const users = await User.find().exec();
res.status(200).json({
status: 'success',
results: doc.length,
data: {
data: users,
},
});
};
另外请注意:不要使用 var 因为这是不好的做法。它会导致范围界定问题,使全局命名空间混乱,并且是错误的来源。使用 let 或 const。此外,在执行异步操作时,请使用 async await,因为它使代码更具可读性。
推荐阅读
- java - 如何在按钮单击时一一获取数组项?
- javascript - 是否可以指定 onEdit 事件,例如合并单元格或删除内容?
- c# - WPF 中的条件 DataGrid MultiBinding
- android - pthread_create 失败:无法分配 1069056 字节的映射空间:内存不足
- api - NetSuite SuiteTalk API 中 searchMoreWithId 操作的结果为空页
- oracle - 如何使用嵌套表 PL/SQL 集合设置批量收集限制?
- javascript - 使用 printJS 调整 Div 宽度
- connection - 如何为 VirtualBox 设置静态本地 IP?
- php - Laravel 会话数据被重写
- c# - Blazor 组件双向数据绑定