How can I delete an individual record from Cosmos DB?
I can select using SQL syntax:
SELECT * FROM collection1 WHERE (collection1._ts > 0)
And sure enough all documents (analogous to rows?) are returned
However this doesn't work when I attempt to delete
DELETE FROM collection1 WHERE (collection1._ts > 0)
How do I achieve that?
Power Automate to delete data from Cosmos DBAdd a new step, “Delete a document”, which will get all the rows from the Cosmos DB. In case you are not able to find it, then you should search for “Cosmos” and under that you will be able to select the “Delete a document” step as shown in the below screen shot.
The Delete Document operation deletes an existing document in a collection.
You cannot delete multiple documents, but you can use stored procedure to delete documents in one partition.
The DocumentDB API's SQL is specifically for querying. That is, it only provides SELECT
, not UPDATE
or DELETE
.
Those operations are fully supported, but require REST (or SDK) calls. For example, with .net, you'd call DeleteDocumentAsync()
or ReplaceDocumentAsync()
, and in node.js, this would be a call to deleteDocument()
or replaceDocument()
.
In your particular scenario, you could run your SELECT
to identify documents for deletion, then make "delete" calls, one per document (or, for efficiency and transactionality, pass an array of documents to delete, into a stored procedure).
The easiest way is probably by using Azure Storage Explorer. After connecting you can drill down to a container of choice, select a document and then delete it. You can find additional tools for Cosmos DB on https://gotcosmos.com/tools.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With