从集合中检索所有文档后,如何很好地显示字段内容

时间:2020-07-18 15:14:46

标签: node.js mongodb mongodb-query pug mongodb-atlas

我在MongoDB Cloud中有一个users集合,希望在浏览器的聊天应用程序中显示。我已经在下面的此函数中检索了名称和权限,但是数据以json格式显示。

outer.get("/chat", function (req, res, next) {
  User.find({}, { fullname: "!null", privilege: "!null" }).exec(function (
    error,
    user,
  ) {
    if (error) {
      return next(error);
    } else {
      if (user === null) {
        const err = new Error("Not authorized! Go back!");
        err.status = 400;
        return next(err);
      } else {
        res.render("chat.pug", { user });
        console.log(user);
      }
    }
  });
});

我只想要用户名,下面是他的特权,没有_id字段,而且格式也很好。

我还使用pug渲染模板,这段代码#{user}显示了检索到的文档,我还使用了User.findById(req.session.userId)#{user.fullname}来获得他的名字

enter image description here

我将不胜感激,因为这是我的毕业论文!

编辑:

这是我用来检索所有文档的全名和特权的查询,但是我不确定这是最佳实践。

enter image description here Dori Lahav Waisberg建议的循环似乎格式化了我的数据,但是我无法使用点运算符来访问字段。

enter image description here

1 个答案:

答案 0 :(得分:1)

您需要在jade文件中使用循环来显示所需的字段。

类似的东西:

each user in users
  li
    h1 = user.username
    h2 = user.privilege

但是您可以根据自己的喜好对其进行格式化。