[P2] Add Bulk Write Operations (upsert, update, delete)
- Ngôn ngữ chính
- C#
- Star
- 3
- Fork
- 7
- Merge trung bình
- 1 ngày 9 giờ
- Pull request đã merge (30 ngày)
- 18
Mô tả
## 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
```
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu bằng cách kiểm tra lệnh mkitem array-input hiện có và các điểm vào lệnh của shell để hiểu cách các thao tác hàng loạt hiện đang được xử lý. Xác định các lệnh bulk được hỗ trợ, các dạng đầu vào, hành vi đồng thời, việc báo cáo tiến độ và chi phí, sau đó bổ sung coverage cho hành vi đã thống nhất; công việc được xem là hoàn tất khi phạm vi và tiêu chí hoàn thành cho upsert, delete và patch được xác nhận.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- csharp
- Lĩnh vực
- cli, database
- Loại issue
- Tính năng
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Ít trao đổi
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 45/100