如何使用python更改couchdb数据库的权限

时间:2014-05-09 13:50:04

标签: python couchdb couchdb-python

我正在尝试在" _security"中添加用户python-couchdb数据库的文档。 我收到一个错误,因为" _security"文件没有" _id"属性。

import couchdb
couch=couchdb.Server("http://admin:admin@localhost:5984")
couch["db"]["_security"]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/couchdb/client.py", line 977, in __repr__
    return '<%s %r@%r %r>' % (type(self).__name__, self.id, self.rev,
  File "/usr/local/lib/python2.7/dist-packages/couchdb/client.py", line 987, in id
    return self['_id']
KeyError: '_id'

1 个答案:

答案 0 :(得分:2)

正确的方法是

import couchdb
couch=couchdb.Server("http://admin:admin@localhost:5984")
db=couch["db"]
security_doc=db.resource.get_json("_security")[2]
db.resource.put("_security",{u'admins': {u'names': [u'admin1','admin2','admin3'], u'roles': []}, u'members': {u'names': [], u'roles': []}})