为什么 couchDB 在尝试创建视图时给我未授权的错误

Why does couchDB gives me not authorized error when trying to create views

我正在使用 couchDB,每当我尝试创建视图时,它都会给我这个错误

  at processTicksAndRejections (internal/process/task_queues.js:97:5) {
  code: 'EUNAUTHORIZED',
  body: {
    error: 'unauthorized',
    reason: 'You are not a db or server admin.'
  }
}

我正在使用 Node-Couchdb 并且我正在像这样传递凭据

const NodeCouchDb = require('node-couchdb')
require("dotenv-flow").config();

const couch = new NodeCouchDb({
    host: process.env.DB_HOST,
    protocol: process.env.DB_PROTOCOL,
    port: process.env.DB_PORT
})

const couchAuth = new NodeCouchDb({
  auth: {
      user: process.env.DB_USER_NAME,
      pass: process.env.PASSWORD
  } 
})

module.exports = {
    couch
}

您的代码正在创建 两个 个 NodeCouchDB 实例,couchcouchAuth,其中

  • couch 指向 envars 指定的服务器 没有 凭证
  • couchAuth 指向默认服务器 (127.0.0.1:5984) with 由 envars
  • 指定的凭据

需要组合参数,例如

const NodeCouchDb = require("node-couchdb");

const couch = new NodeCouchDb({
  host: process.env.DB_HOST,
  protocol: process.env.DB_PROTOCOL,
  port: process.env.DB_PORT,
  auth: {
    user: process.env.DB_USER_NAME,
    pass: process.env.PASSWORD,
  },
});

module.exports = {
  couch
};