【发布时间】:2013-07-16 17:04:32
【问题描述】:
我正在使用 Node.js、Express、Jade 和 MongoDB。我遇到了一个关于渲染的奇怪问题。我传递了从 db 查询返回的变量“users”,如下所示,我很确定它是正确的:
userProvider.findByIds(ids, function(error, users) {
res.render('index', { users: users }); // This users here has all documents founded by Ids.
});
并且在Jade模板文件index.jade中有一个循环:
- each user in users //-This users here has only one document after I added a new user
每次添加新用户后它都不起作用。它只显示一个用户,即最新添加的用户。但是如果我重新启动 Node.js,它会正常工作并显示每个用户都包含最新的用户。
我猜这些东西存在一些缓存问题。有什么想法吗?
【问题讨论】:
-
您需要发布“用户”的内容,我们才能为您提供帮助。
-
我只是以用户为例。我认为,它有什么样的内容并不重要。例如,在渲染之前,我检查了用户的长度是5。但是在jade中,用户的长度是1。这只有在我添加新文档后才会发生。
-
嗯,这里没有足够的信息来提供答案。根据我的经验,您使用的工具在传递值时应该没有任何问题,无论是标量、数组还是对象。您如何向用户“添加文档”?通过蒙哥?你在哪里调用 res.render()?从您传递给 Mongo 的处理程序内部?
-
刚刚更新了问题。希望现在更容易理解。这是我在这里问的第一个问题,:p.
-
您的查询是否抛出了
error?另外,您是如何添加新用户的?
标签: node.js mongodb express pug