0

我目前是 nodejs 和 mongodb 的新手,所以请原谅我这种新手类型的问题。

我想要的是将数据从我的 mongodb 文件传递​​到运行我的迷你游戏的 js 文件。我现在正在做的是使用jsp标签从我的mongodb中检索数据(我正在从我见过的一个项目中遵循这种做法,但他正在对他的html文件执行此操作,这对他来说效果很好。就我而言我只是在碰运气)

var win = <%= user.win %>;
var lose = <%= user.lose %>;
var draw = <%= user.draw %>;

如何将我的数据从 mongodb 检索到 javascript?

4

1 回答 1

0

如果你有一个带有 Express 应用程序的 Node.JS,有很多方法可以做到这一点。如果您使用的是模板引擎,则可以将数据呈现为script块中 HTML 页面的一部分(或直接将其呈现为 HTML,避免脚本)。或者,您可能希望使用 Ajax 样式请求并将数据发送回客户端。

app.get('/api/users/:id', function(req, res) {        
  Users.findOne({ _id : req.params.id }, function(error, user) {
    if (error || !user) {
      res.send({ error: error });
    } else {
      res.send(user);
    }
  });
});

一旦你准备好了,你可以使用jQueryajax函数来调用 web 服务。

$.ajax({
  url: "api/users/" + userId,
}).done(function(user) {
    // here you have a  complete user object that you can use
});

您发布的代码让我认为您正在使用模板引擎。我希望render您的模板 HTML 文件有一个方法:

res.render('homepage', user);

然后,在 HTML 中:

<script>
var win = <%= win %>;
var lose = <%= lose %>;
var draw = <%= draw %>;    
</script>

由于user对象是具有当前上下文的对象(因为它在我上面的示例中作为参数传递),您可以直接直接引用user对象的属性(win而不是user.win)。

于 2013-09-21T18:57:03.107 回答