[P2] Add Bulk Write Operations (upsert, update, delete)
- Lenguaje dominante
- C#
- Estrellas
- 3
- Forks
- 7
- Merge medio
- 1 d 12 h
- PR fusionados (30 d)
- 14
Descripción
## Feature Request
**Priority:** P2 (Medium)
### Description
CosmosDB Shell supports array input for `mkitem` (batch create) but lacks bulk upsert, update, and delete operations. Bulk operations are critical for data migration and maintenance tasks.
### Comparable Features in Other Shells
- **mongosh**: `bulkWrite()`, ordered/unordered bulk operations
- **sqlcmd**: Bulk insert via `bcp`
### Proposed Behavior
Add a `bulk` command or extend existing commands:
- `bulk upsert ` — Bulk upsert from JSON array or file
- `bulk delete ` — Bulk delete matching documents
- `bulk patch ` — Bulk patch operations
- Support concurrency control (max parallelism)
- Report progress, success/failure counts, and total RU cost
### Example Usage
```
bulk upsert ./updates.json --max-parallelism 10
bulk delete "SELECT c.id, c.pk FROM c WHERE c.expired = true"
bulk patch ./patches.json
```
Guía de contribución
Línea de trabajo
Empieza inspeccionando el comando mkitem array-input existente y los puntos de entrada de comandos de la shell para entender cómo se gestionan actualmente las operaciones por lotes. Define los comandos bulk admitidos, los formatos de entrada, el comportamiento de concurrencia y los informes de progreso y costes; después, añade cobertura para el comportamiento acordado. Se considera terminado cuando se hayan confirmado el alcance y los criterios de finalización para upsert, delete y patch.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- csharp
- Área
- cli, database
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Tranquilo
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 45/100