PouchDB createIndex抛出500错误代码

时间:2018-04-19 20:49:03

标签: javascript couchdb pouchdb

我只是想创建一个像这样的基本索引



currentDB.createIndex({
    index: {
        fields: ['name']
    }
}).then((result) => {
  
}).catch((error) => {

})




但它只是给了我一个带有' unknown_error'错误信息 enter image description here

我可以成功运行所有其他方法:.getIndexes,.allDocs,.query等...只有这种方法由于某种原因失败了。

1 个答案:

答案 0 :(得分:1)

documentation中所述:

  

500 - 内部服务器错误

     

请求无效,因为提供的JSON无效,   或无效信息是作为请求的一部分提供的。

您需要提供更多详细信息才能重新制作您的情况。

我厌倦了NodeJS上的createIndex API,看看我是否遇到过任何问题。我在名为server.js的文件中创建了以下代码:

process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0"; // Ignore rejection, becasue CouchDB SSL certificate is self-signed

//import PouchDB from 'pouchdb'
const PouchDB = require('pouchdb')
PouchDB.plugin(require('pouchdb-find'))
const db = new PouchDB('https://admin:****@192.168.1.106:6984/reproduce')

db.createIndex({
    index: {
        fields: ['title']
    }
}).then((result) => {
    console.log(result)
}).catch((error) => {
    console.log(error)
})

当我运行代码时,结果很好:

$ node server.js 
{ result: 'created',
  id: '_design/94407075806d27d94ac764d9aa138a43c015dc1f',
  name: '94407075806d27d94ac764d9aa138a43c015dc1f' }

所以,至少在NodeJS上,createIndex不应该有任何问题。我的PouchDB版本如下所示:

{
  "name": "reproduce-pouchdb-tls",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "pouchdb": "^6.4.3",
    "pouchdb-find": "^6.4.3"
  }
}