Après avoir obtenu le document, supprimez-le en spécifiant l'ID du document et la Clé de partition.
// Azure Cosmos DB Libraries for Java
// https://docs.microsoft.com/ja-jp/java/api/overview/azure/cosmosdb?view=azure-java-stable
FeedOptions queryOptions = new FeedOptions();
queryOptions.setEnableCrossPartitionQuery(true);
String host = "yourhost";
// Get key from Azure Web Console
// read write key
String key = "yourkey";
DocumentClient client = new DocumentClient("https://" //
+ host //
+ ".documents.azure.com:443", key, //
new ConnectionPolicy(), ConsistencyLevel.Session);
String collectionLink = String.format("/dbs/%s/colls/%s", DATABASE_ID, COLLECTION_ID); //Précisez de manière appropriée
String q = "SELECT * FROM container1";
//Tous les documents
List<Document> results = client //
.queryDocuments(collectionLink, q, queryOptions).getQueryIterable().toList();
for (Document doc : results) {
System.err.println(doc);
String documentLink = doc.getSelfLink();
RequestOptions options = new RequestOptions();
// check your configuration of cosmos db container
String partitionKey = ((org.json.JSONObject) doc.get("item")).getString("xxx");
options.setPartitionKey(new PartitionKey(partitionKey));
client.deleteDocument(documentLink, options);
System.err.println("deleted: " + documentLink);
}
client.close();
Vous devez spécifier la valeur, pas la clé Patition. Puisque "SELECT * FROM c" peut être fait, il semble que "DELETE * FROM c" peut être fait, mais il semble que cela ne peut pas être fait.
Recommended Posts