使用node.js在mongodb和客户端之间传输数据

使用node.js在mongodb和客户端之间传输数据,node.js,mongodb,Node.js,Mongodb,我一直在玩一些在web上找到的Node.JS示例,但我仍然需要一些帮助 这是我的密码: 我希望我的服务器: 从客户端接收数据,用于MongoDB数据库中的搜索查询 发生这种情况时,服务器将结果发送回客户端 我怎样才能做到这一点 现在服务器没有从客户端接收变量 我无法测试这是否有效,因为由于同源策略,客户端无法导入websocket库 我已经读到,通过让node.js服务于主html文件可以很容易地解决这个问题,我如何在我的服务器中实现它 感谢您的帮助。我建议使用来处理请求和提供HTML文件。

我一直在玩一些在web上找到的Node.JS示例,但我仍然需要一些帮助

这是我的密码:

我希望我的服务器:

  • 从客户端接收数据,用于MongoDB数据库中的搜索查询

  • 发生这种情况时,服务器将结果发送回客户端

我怎样才能做到这一点

现在服务器没有从客户端接收变量

我无法测试这是否有效,因为由于同源策略,客户端无法导入websocket库

我已经读到,通过让node.js服务于主html文件可以很容易地解决这个问题,我如何在我的服务器中实现它

感谢您的帮助。

我建议使用来处理请求和提供HTML文件。你需要它,但你没有使用它。很多人使用Express,这样你就可以结交好朋友并快速找到答案。它与Socket.io的语法非常相似,因此您的代码不会有太大变化

当运行basic Express server时,您可以提供一个HTML文件,该文件具有发送GET请求的搜索查询,如下所示:

<form action='/search' method='GET'>
    <h2>Search:</h2>
    <input type='search' name='q'>
    <input type='submit'>
</form>

在这个示例中,我没有包括如何连接到数据库,因为它们有很多方法。您似乎正在使用本机MongoDB NodeJS驱动程序,我相信它可以很好地工作,尽管我使用MongoSkin,因为我发现它更容易包含到其他文件中。

谢谢!主页现在已被送达,但我收到原产地政策错误。我将就此提出另一个问题。
var express = require('express'),
    app = express()

app.get('/', function(req, res) {
    res.send('/path/to/static/page.html')
}

app.get('/search', function(req, res) {
    var query = req.query.q
    db.collection('collection').find(query, function(err, docs) {
        if (err) {
            res.status(500).send(err)
        } else {
            res.send(docs)
        }
    })
})