我正在尝试删除名为:
的CouchDB数据库supertest$my(2e)name(40)myhost(2e)co(2e)uk
数据库名称是由Superlogin node.js包自动创建的,所以我无法控制在名称中使用$(导致问题的是$)。
如果我尝试使用Fauxton管理界面删除此数据库,则单击删除按钮不执行任何操作。我还尝试通过API删除如下:
curl -vX DELETE http://127.0.0.1:5984/supertest$my(2e)name(40)myhost(2e)co(2e)uk
此API调用被拒绝,错误包括:
-bash: syntax error near unexpected token `('
答案 0 :(得分:3)
以下适用于我:
curl -gvX DELETE 'http://user:password@mydomain.com:5984/client$someuser(40)gmail(2e)com'
单引号使bash将其视为字符串(解决您的问题)。
需要使用{}和[]的curl -g, - globoff禁用网址序列和范围,因为我的密码中不时有这些字符。
答案 1 :(得分:1)
我自己遇到了问题,最后使用Superlogin API删除用户及其所有数据库
superlogin.removeUser(user_id, destroyDBs)
传递true
作为删除其私有数据库的第二个参数。
https://github.com/colinskow/superlogin#superloginremoveuseruser_id-destroydbs