Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.ditto.live/llms.txt

Use this file to discover all available pages before exploring further.

To permanently delete a document from a collection see DELETE.
DQL
EVICT FROM your_collection_name
WHERE [condition]
LIMIT [limit]
OFFSET [offset]
ORDER BY [order by]
EVICT Syntax Diagram In this syntax:
  • your_collection_name is the name of the collection from which you want to retrieve the data.
  • [condition] represents the condition or criteria that determine which documents should be evicted from the local peer.
  • [limit] represents the maximum number of documents that should be evicted
  • [offset] represents the offset from 0 that should be used for the eviction query, in practice this should be rarely used
  • [order by] represents the path within a document to use to order the dataset and order (ASC or DESC)

Examples of Evicting Documents

Here, documents from the cars collection that have the document ID 123 get removed from the Ditto store:
DQL
EVICT FROM cars
WHERE _id = '123'
As another example, the following snippet, once executed, results in the eviction of documents with timestamps greater than a certain value:
DQL
EVICT FROM cars
WHERE some_time_stamp > 1699888298000

Removing Data from Ditto Server

Removing data from a distributed database is a difficult problem, and memory management requires careful consideration of both subscriptions and evictions. Note that any data evicted from Ditto Server will reappear if it exists on any device running the Ditto SDK connected to Ditto Server. To permanently remove the data, you must first ensure the data is no longer subscribed to, and is already evicted, by any connected devices running the Ditto SDK. For specifics on evicting and deleting documents in all Ditto SDKs and to learn more about our recommended strategies, see SDK>CRUD>Removing Documents. Alternatively, data can be tombstoned from Ditto Server using the legacy API. See: Writing: HTTP (Legacy).