私はデータベースを持っていて、すべてのレコードを切り捨てたいと思っています。すべてのドキュメントに _deleted キーを追加するか、CouchDB-python ライブラリで db.delete() を呼び出すだけでよいことを知っています。私はdelete
couchdb-pythonを使用していますが、すべてのドキュメントをフェッチしてから、設計ドキュメントを除く各ドキュメントで.deleteを呼び出すと、機能しないようです。
これが私のコードです。
docs = get_db().view('_all_docs', include_docs=True)
for i in docs:
if not(i['id'].startswith('_')):
get_db().delete(i)
これがエラーです。からの結果が代わりに_all_docs
返されるためです。id
_id
File "C:\Users\User\AppData\Local\Programs\Python\Python36-32\lib\site-packages\couchdb\client.py", line 625, in delete
if doc['_id'] is None:
KeyError: '_id'
_id
私の質問は、 ?だけでなく、返されるすべてのドキュメントを取得するにはどうすればよいid
ですか? または、これを回避する方法はありますか?