Mongodb客户端javascript api

时间:2011-09-03 10:47:29

标签: mongodb client-server client-side javascript

我想直接从客户端使用mongodb,在我的模型中使用javascript。我想这是可能的,因为在mongo网站上有一个用于演示的javascript实时控制台。

是否存在在普通javascript应用程序中使用相同api而无需编写客户端 - 服务器粘合代码的方法?

由于

4 个答案:

答案 0 :(得分:7)

看起来该站点使用类似REST的AJAX接口,但我确信它不会直接访问任何MongoDB实例,甚至不会通过某个桥接器间接访问。

在应用此模式之前要考虑两次:您将如何强制执行安全性?您是否了解AJAX限制?如果你真的知道自己在做什么,官方documentation指出了一些有用的资源:

  
      
  • Sleepy Mongoose(Python)是MongoDB的全功能REST接口,可作为单独的项目使用。

  •   
  • MongoDB Rest(Node.js)是MongoDB的 alpha REST接口,它使用MongoDB Node Native驱动程序。

  •   
  • Simple REST Interface为方便起见,mongod进程包括一个简单的只读REST接口。对于完整的REST功能,我们建议使用外部工具,例如Sleepy.Mongoose

  •   

拥有REST桥并管理same origin policy,您可以使用AJAX调用和JavaScript直接轻松访问MongoDB。

答案 1 :(得分:1)

我需要做一些与此类似的事情,一个管理界面内的控制台,因为我在后端使用PHP我只是制作脚本来接收js命令并使用MongoDB :: execute方法,php中的连接已经打开,所以我不必传递任何验证数据,只需要传递命令 但是,您必须非常小心这样的事情,并确保只有受信任的用户才能访问该页面(和脚本),不要公开它,因为任何人都可以在客户端上执行js来访问您的数据库。

修改:以下是文档http://ar2.php.net/manual/en/mongodb.execute.php的链接

答案 2 :(得分:1)

看看meteorjs或类似的。模型编写一次,完整的ACL。

在Redis中添加更好:)

答案 3 :(得分:1)

对于任何其他想知道的人,都可以使用类似于Google Firebase的Stitch来实现,因为它提供了对后端数据库的客户端访问,在这种情况下,后端数据库是Atlas BaaS上的MongoDB。 Stitch还具有AWS Lambdas之类的功能以及其他对开发实时应用程序有意义的功能。当我昨天在聚会上设置基本博客教程时,看起来很简单。干杯!

https://docs.mongodb.com/stitch/tutorials/