Skip to content

Commit 0ce6fa1

Browse files
committed
delete docs system created
1 parent ad2a89d commit 0ce6fa1

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

filexdb/collection.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,27 @@ def find(self, query: Mapping = None, limit: tuple = None) -> List[Document | No
199199

200200
return _result
201201

202+
def delete(self, query: Mapping = None) -> int:
203+
"""
204+
Delete single or multiple Document when meet the Conditions or ``query``.
205+
206+
:param query: Condition to search Document
207+
:return: int - amount of effected Document
208+
"""
209+
# Effected Documents count
210+
_doc_count = 0
211+
212+
# Fetching a Documents meet the query
213+
_documents = self.find(query, None)
214+
215+
# Fetch every Document & remove from Collection
216+
for _doc in _documents:
217+
self._collection.remove(_doc)
218+
_doc_count += 1
219+
220+
self._binary_file.write(self._database)
221+
222+
return _doc_count
202223

203224

204225
def _reset_cursor(self) -> None:

0 commit comments

Comments
 (0)