【问题标题】:Using MongoDB from client with Javascript使用 Javascript 从客户端使用 MongoDB
【发布时间】:2013-04-22 23:54:09
【问题描述】:

我正在尝试仅使用来自客户端的 javascript 来使用 MongoDB,但 MongoDB 关于如何实现这一点的文档非常混乱。

在this 网页上没有可下载的内容,我期待看到类似 mongo.js 的内容。

Here 我确实找到了 mongo.js,并使用this 我试图让它工作但没有运气。

Google Chrome 中的 Javascript 控制台说:

Uncaught TypeError: Object [object Object] has no method 'init'

在这个来自 mongo.js 的 sn-p 中:

if ( typeof Mongo == "undefined" ){
  Mongo = function( host ){
    this.init( host );  
  }
}

有人对使用纯 Javascript 的 MongoDB 有任何提示吗?

【问题讨论】:

    标签: javascript mongodb


    【解决方案1】:

    您链接到的文档是关于使用 node.js 框架通过 server 端的 Javascript 访问 MongoDB。

    MongoDB 确实提供了一个 REST Web 服务,允许通过 XmlHttpRequests 进行基本查询。要启用它,您必须使用 --rest 参数启动 mongod。然后你可以像这样查询它:

    http://127.0.0.1:28017/yourDatabase/yourCollection/?filter_name=Bob
    

    您可以像任何 Web 服务一样使用 AJAX XmlHttpRequest 查询此 URL。它将访问 localhost 上的数据库并返回与如下查询等效的 JSON:

    yourDatabase.yourCollection.find({name:"Bob"});
    

    然而,这个界面非常简陋。它只提供简单的查找查询。但是有 3rd 方中间件层可以提供更高级的功能。此处记录了此功能和第 3 方解决方案列表:

    http://docs.mongodb.org/ecosystem/tools/http-interfaces/

    【讨论】:

    • 仅供参考,REST 接口已被弃用,然后在 3.6 版中被删除。
    【解决方案2】:

    使用 MongoDB 提供的 REST Web 服务有很多限制。它的功能非常有限,我们无法在查询数据时提供查询条件或排序选项。

    我建议编写自己的服务器端脚本或 servlet 来提供 REST 接口来从 MongoDB 中获取数据。

    【讨论】:

      【解决方案3】:

      更新:MongoDB 今年推出了一项服务,MongoDB Stitch。这允许开发人员连接到 MongoDB Atlas(云)并公开数据以及直接在 ui 上使用的查询(通过 js)。目前,它处于测试阶段,但文档和示例在他们的网站上供参考。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-02-03
        • 2014-06-01
        • 2011-11-09
        • 1970-01-01
        • 1970-01-01
        • 2018-05-02
        • 2018-02-12
        • 1970-01-01
        相关资源
        最近更新 更多