Skip to content

Commit 107ab4d

Browse files
committed
修复findOneAndUpdate、findOneAndDelete、findOneAndReplace、replaceOne
1 parent 2d4fdbb commit 107ab4d

7 files changed

Lines changed: 665 additions & 4 deletions

File tree

CHANGELOG.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,17 @@
55
## [未发布]
66

77
### Added
8+
- **MongoDB 驱动版本检测和警告机制**(2025-11-17)
9+
-`result-handler.js` 中添加了驱动版本自动检测功能
10+
- 当检测到不支持的驱动版本(<6.x 或 >6.x)时自动输出警告日志
11+
- 当遇到非预期的返回值格式时输出详细的诊断日志
12+
- 帮助开发者及早发现驱动版本兼容性问题
13+
- **MongoDB 驱动版本兼容性指南文档**(2025-11-17)
14+
- 新增 `docs/mongodb-driver-compatibility.md` 完整兼容性指南
15+
- 包含当前支持的驱动版本说明
16+
- 包含驱动版本差异详解
17+
- 包含未来驱动升级的标准流程和检查清单
18+
- 包含开发者指南和 FAQ
819
- **新增 3 个删除方法**(2025-11-13)
920
- `deleteOne(filter, options)` - 删除单个匹配的文档
1021
- `deleteMany(filter, options)` - 批量删除所有匹配的文档
@@ -20,6 +31,14 @@
2031
- 实现完整 CRUD 操作链(Create ✅ / Read ✅ / Update ✅ / Delete ✅)
2132

2233
### Changed
34+
- **增强 result-handler.js 的诊断能力**(2025-11-17)
35+
- `handleFindOneAndResult()` 函数现在接受可选的 `logger` 参数
36+
- 自动检测 MongoDB 驱动版本并在首次调用时输出诊断信息
37+
- 当返回值格式异常时输出详细的警告日志
38+
- 帮助快速定位和诊断驱动兼容性问题
39+
- **README 添加兼容性说明**(2025-11-17)
40+
- 在"安装"章节添加了 MongoDB 驱动版本兼容性说明
41+
- 提供兼容性指南和技术报告的链接
2342
- **API 文档更新 - MongoDB 驱动版本说明**(2025-11-17)
2443
-`docs/find-one-and-update.md` 中添加了 MongoDB 驱动 6.x 的兼容性说明
2544
-`docs/find-one-and-replace.md` 中添加了驱动版本说明和完整返回值示例

README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,18 @@ npm i monsqlize
7171
npm i ioredis
7272
```
7373

74+
### 兼容性说明
75+
76+
**支持的 MongoDB 驱动版本**:
77+
- ✅ MongoDB Node.js Driver 6.x(完全测试并支持)
78+
- ⚠️ 其他版本未经充分测试
79+
80+
monSQLize 内部已处理 MongoDB 驱动 6.x 的 API 变更(特别是 `findOneAnd*` 方法),确保 API 行为一致。
81+
82+
**详细说明**:
83+
- 📖 [MongoDB 驱动版本兼容性指南](./docs/mongodb-driver-compatibility.md) - 驱动升级指南和最佳实践
84+
- 📄 [技术分析报告](./analysis-reports/2025-11-17-mongodb-driver-6x-compatibility-FINAL.md) - 详细的技术实现
85+
7486
---
7587

7688
## 快速开始

0 commit comments

Comments
 (0)