通过 JavaScript 直接访问 MongoDB

Posted

技术标签:

【中文标题】通过 JavaScript 直接访问 MongoDB【英文标题】:Access MongoDB directly via JavaScript 【发布时间】:2011-01-09 03:32:42 【问题描述】:

是否有可能直接通过 javascript 表单浏览器从 MongoDB 访问和检索数据而无需后端处理?

【问题讨论】:

另一种选择是评估CouchDb。这里包含了一个完整的 REST 接口 【参考方案1】:

不在标准安全上下文中。

如果您有提升安全权限的情况(例如在自定义浏览器扩展中),那么它可能会成为可能。

【讨论】:

是的,虽然我怀疑已经存在一个,所以你必须写它。 你应该解释一下如何??【参考方案2】:

MongoDB 本身没有完全可用的 REST 接口。您将需要基于 Python 的 Sleepy Mongoose 或基于 Node.js 的 MongoDB Rest

请查看http://www.mongodb.org/display/DOCS/Http+Interface了解更多信息。

Mongo 的内置 REST 接口非常基本且只读。

【讨论】:

我能够对基于 Python 的 Sleepy Mongoose 和基于 Node.js 的 mongodb-rest 进行基准测试。 Node.js 是绝对的赢家,我的 hello-world 测试的吞吐量超过 600 个请求/秒。【参考方案3】:

如果您碰巧在 MongoLabs 上托管您的数据库,它们也会公开一个 REST API。请注意,这并不安全,因为每个请求都会传递一个 API 密钥,但您可以使用它通过 Javascript 检索公共数据:

https://support.mongolab.com/entries/20433053-Is-there-a-REST-API-for-MongoDB-

一旦您设置好 mongolab 数据库,您就可以通过 REST 请求访问它,例如

$.getJSON("https://api.mongolab.com/api/1/databases/your-db/collections/your-collection/?apiKey=your-key", function(json) 
  //console.log( "JSON Data: " + json );
);

【讨论】:

以上是关于通过 JavaScript 直接访问 MongoDB的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB 通过配置文件启动及注册服务

MongoDB 通过配置文件启动及注册服务

javascript中实例方法与类方法的区别

是否可以直接从 Javascript 访问 MySQL 数据库

mongodb运行mongo命令以后直接结束

Windows下MongoDB设置用户密码