데이터베이스가 있고 모든 레코드를 자르고 싶습니다. 모든 문서에 _deleted 키를 추가하거나 CouchDB-python 라이브러리에서 db.delete()를 호출하는 것이 가능하다는 것을 알고 있습니다. couchdb-python의 delete
을 사용하고 있지만 모든 문서를 가져 와서 디자인 문서를 제외하고 각 .delete를 호출하면 작동하지 않는 것 같습니다.CouchDB에서 모든 문서 삭제
여기 내 코드입니다.
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
반환 모든 문서를 가져 어떻게입니까? 아니면이 주변에 어떤 방법이 있습니까? CouchDB를에서
왜 이것을 원하니? 데이터베이스를 삭제하고 다시 만드는 것이 더 쉽지 않을까요? – Flimzy
데이터베이스를 삭제하면 다시 모든 뷰를 다시 만들어야합니까? 그게 맞습니까? 죄송합니다. 저는 소파가 새롭습니다. @Flimzy – essramos
예. 그러나 잘하면 당신은 그것을 할 수있는 쉬운 방법이 있습니다. – Flimzy