【问题标题】:How to display field contents nicely after retrieving all documents from collection从集合中检索所有文档后如何很好地显示字段内容
【发布时间】:2020-07-18 15:14:46
【问题描述】:

我在 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}

感谢您的帮助,因为这是我的毕业论文!

编辑:

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

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

【问题讨论】:

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


    【解决方案1】:

    你需要在你的jade文件中使用一个循环来显示你喜欢的字段。

    类似:

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

    但你可以随意格式化它。

    【讨论】:

    • 感谢您的建议!它解决了我遇到的格式问题,但我现在无法访问这些字段。你能看看我发布的新截图吗?
    • 我对 pug 不是很熟悉,但我认为您需要在值之前放置一个 = 以使其将该值作为元素的值。
    • 没关系,我找到了,但再次感谢您的建议!祝你在未来的项目中好运!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-02
    • 1970-01-01
    • 1970-01-01
    • 2021-10-26
    • 2020-11-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多