【问题标题】:How to get the data back from mongoDB and display it properly?如何从 mongoDB 取回数据并正确显示?
【发布时间】:2021-07-19 20:02:28
【问题描述】:

从 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()。搜索条件。

【问题讨论】:

标签: javascript node.js mongodb express handlebars.js


【解决方案1】:

这是检索给定集合中所有文档的更简洁的代码。您应该能够在 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,因为它使代码更具可读性。

【讨论】:

    猜你喜欢
    • 2014-05-18
    • 2018-05-29
    • 2018-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-22
    • 2022-01-09
    • 1970-01-01
    相关资源
    最近更新 更多