我正在使用Loopback 4并尝试运行迁移选项。当使用Cloudant的本地docker映像(ibmcom / cloudant-developer)时,它引发以下错误:
'为此请求划分了无效的密钥。'
但是,它可以与IBM公共云上的Cloudant实例正常工作。
这里是完整的错误消息:
name: 'Error',
error: 'invalid_key',
reason: 'Invalid key partitioned for this request.',
scope: 'couch',
statusCode: 400,
request: {
method: 'post',
headers: { 'content-type': 'application/json', accept: 'application/json' },
uri: 'http://XXXXXX:XXXXXX@localhost:8888/auth-clients/_index',
body: '{"index":{"fields":[{"loopback__model__name":"asc"}]},"partitioned":false,"ddoc":"LBModel__auth_clients__LBIndex__loopback__model__name_index","name":"loopback__model__name_index","type":"json"}',
qsStringifyOptions: { arrayFormat: 'repeat' }
},
headers: {
uri: 'http://XXXXXX:XXXXXX@localhost:8888/auth-clients/_index',
statusCode: 400,
'cache-control': 'must-revalidate',
'content-type': 'application/json',
date: 'Wed, 05 Feb 2020 11:34:54 GMT',
'x-couch-request-id': '169749e8da',
'x-couchdb-body-time': '0'
},
errid: 'non_200',
description: 'couch returned 400'
ibmcom / cloudant-developer映像基于EOL Cloudant Local,因此永远不会进行更新。如果您可以不使用特定于Cloudant的功能,则可能需要尝试使用最近的CouchDB image,它确实包括对分区数据库的支持。