【问题标题】:How to configure CouchDB from my nodejs app如何从我的 nodejs 应用程序配置 CouchDB
【发布时间】:2017-09-27 18:49:52
【问题描述】:

我正在尝试创建一个自托管应用程序。这个应用程序将提供一个带有一些路由的自定义快速服务器,并使用pouchdb-server 提供一个 CouchDB 访问。我希望节点服务器能够配置数据库并创建管理员用户名/密码,然后创建角色功能。如何从我的 nodejs 应用程序配置 CouchDB?

我想:

  • 停止管理员聚会并使用密码创建管理员。 我发现 Web 客户端使用有效负载中的密码向 http://localhost:5984/_node/couchdb@localhost/_config/admins/<username> 发出 PUT 请求,但我想使用 express-pouchdb 来完成, 所以 HTTP 是不可能的
  • 创建用户角色我想设置多个角色
  • 设置权限哪些角色可以更新哪些数据库,哪些数据库可以被谁读取等等...

请注意,我不能直接向 CouchDB 发出 http 请求,因为 我在我的节点应用程序中使用 pouch-db-express 将数据库提供给客户端,我想要我的快递用于配置 pouchdb-express 管理的 couchDB 实例的应用程序

【问题讨论】:

    标签: node.js couchdb pouchdb


    【解决方案1】:
    1. 停止管理员聚会并使用密码创建管理员

      我很确定与 _config 端点交互的唯一方法是使用 HTTP,因为我在 plugins page 上没有看到配置插件。即使有插件,它也会使用 HTTP。 HTTP实际上是不可能有什么原因吗?或者你只是不想使用它?

    2. 创建用户角色

      PouchDB authentication plugin 可以为您做到这一点。

    3. 设置权限

      身份验证插件还允许您为此访问_security 端点。然后,您还需要使用标准的put() API 创建适当的设计文档。

    【讨论】:

    • 感谢您的回复。所以没有直接的方法 1. 我发现对自身进行 HTTP 调用的节点应用程序可能会导致错误并且有点糟糕,但也许我可以先在独立应用程序上启动 pouchdb 服务器,听 @987654326 @ 在随机端口上,然后使用我的应用程序将其配置为停止管理员方。你怎么看?
    • 另外,pouchdb 身份验证插件需要进行 http 调用,所以我可能需要在运行独立服务器的配置部分进行此操作
    • @Vinz243:这是一个超级简单的HTTP请求。我通常从带有 curl 的 bash 脚本中执行此操作。我不知道为什么在节点中这样做应该特别容易出错。
    • PouchDB 与 CouchDB 通信的所有操作都是通过 HTTP 调用。与 CouchDB 的每次通信都是通过 HTTP 进行的。
    • 我明白,只是使用请求模块,但我不想让我的服务器在配置期间可访问,而且我仍然不喜欢 http 服务器对自身发出请求看起来像一条会咬人的蛇它自己的尾巴
    猜你喜欢
    • 2016-11-16
    • 1970-01-01
    • 2018-03-15
    • 2018-01-28
    • 2013-02-20
    • 2015-06-07
    • 2020-05-20
    • 2015-12-12
    相关资源
    最近更新 更多