---
generated_at: 2026-03-01 10:30:00
metrics:
  claims_total: 134
  claims_with_evidence: 134
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート: db-mongodb 単体テストケース一覧

## 本レポートについて

### 目的
本レポートは、生成されたdb-mongodb単体テストケース一覧の信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

### チェック方法
以下の観点でドキュメントの内容（Claim: 主張）を検証しています:

1. **根拠の有無確認**: 各主張に対して、ソースコード・既存設計書・要件定義書などの根拠（Evidence）が存在するか
2. **根拠との整合性**: 主張の内容が根拠と矛盾していないか
3. **網羅性**: 参照すべき情報源を適切にカバーしているか

### 信頼度スコアの算出
- **confidence_derived** = 根拠あり件数 / 総主張件数
- 状態「○」: 根拠あり、「△」: 根拠不足または要確認

### 本レポートの使い方
1. まず「サマリー」で全体の信頼度と優先レビュー項目を確認
2. 「Claims と根拠の対応」で △ の項目を重点的にレビュー
3. 「不足情報」で補完が必要な情報源を確認

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）: **1.00**
  - 根拠あり: 134 / 134、根拠なし: 0
- 優先レビュー（高）
  1. 全テストケースはソースコードから直接抽出しており、根拠あり
  2. 特に優先レビューが必要な項目なし

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。

- E-01: `packages/db-mongodb/src/index.ts` - mongooseAdapter関数、Args型定義
- E-02: `packages/db-mongodb/src/connect.ts` - connect関数
- E-03: `packages/db-mongodb/src/init.ts` - init関数
- E-04: `packages/db-mongodb/src/destroy.ts` - destroy関数
- E-05: `packages/db-mongodb/src/create.ts` - create関数
- E-06: `packages/db-mongodb/src/find.ts` - find関数
- E-07: `packages/db-mongodb/src/findOne.ts` - findOne関数
- E-08: `packages/db-mongodb/src/updateOne.ts` - updateOne関数
- E-09: `packages/db-mongodb/src/deleteOne.ts` - deleteOne関数
- E-10: `packages/db-mongodb/src/deleteMany.ts` - deleteMany関数
- E-11: `packages/db-mongodb/src/updateMany.ts` - updateMany関数
- E-12: `packages/db-mongodb/src/upsert.ts` - upsert関数
- E-13: `packages/db-mongodb/src/count.ts` - count関数
- E-14: `packages/db-mongodb/src/findGlobal.ts` - findGlobal関数
- E-15: `packages/db-mongodb/src/createGlobal.ts` - createGlobal関数
- E-16: `packages/db-mongodb/src/updateGlobal.ts` - updateGlobal関数
- E-17: `packages/db-mongodb/src/createVersion.ts` - createVersion関数
- E-18: `packages/db-mongodb/src/findVersions.ts` - findVersions関数
- E-19: `packages/db-mongodb/src/queryDrafts.ts` - queryDrafts関数
- E-20: `packages/db-mongodb/src/transactions/beginTransaction.ts` - beginTransaction関数
- E-21: `packages/db-mongodb/src/transactions/commitTransaction.ts` - commitTransaction関数
- E-22: `packages/db-mongodb/src/transactions/rollbackTransaction.ts` - rollbackTransaction関数
- E-23: `packages/db-mongodb/src/queries/buildQuery.ts` - buildQuery関数
- E-24: `packages/db-mongodb/src/queries/buildSortParam.ts` - buildSortParam関数
- E-25: `packages/db-mongodb/src/queries/parseParams.ts` - parseParams関数
- E-26: `packages/db-mongodb/src/queries/sanitizeQueryValue.ts` - sanitizeQueryValue関数
- E-27: `packages/db-mongodb/src/utilities/transform.ts` - transform関数
- E-28: `packages/db-mongodb/src/utilities/handleError.ts` - handleError関数
- E-29: `packages/db-mongodb/src/utilities/getSession.ts` - getSession関数
- E-30: `packages/db-mongodb/src/utilities/getEntity.ts` - getCollection, getGlobal関数
- E-31: `packages/db-mongodb/src/utilities/buildProjectionFromSelect.ts` - buildProjectionFromSelect関数
- E-32: `packages/db-mongodb/src/utilities/buildJoinAggregation.ts` - buildJoinAggregation関数
- E-33: `packages/db-mongodb/src/utilities/aggregatePaginate.ts` - aggregatePaginate関数
- E-34: `packages/db-mongodb/src/utilities/getDBName.ts` - getDBName関数
- E-35: `packages/db-mongodb/src/models/buildSchema.ts` - buildSchema関数
- E-36: `packages/db-mongodb/src/models/buildCollectionSchema.ts` - buildCollectionSchema関数
- E-37: `packages/db-mongodb/src/migrateFresh.ts` - migrateFresh関数

## 3) Claims と根拠の対応（レビューの主戦場）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | mongooseAdapter: デフォルト設定でアダプターが作成される | E-01 (index.ts L252-357) | ○ |
| C-02 | mongooseAdapter: 全オプション指定でアダプターが作成される | E-01 (Args型定義 L69-184) | ○ |
| C-03 | mongooseAdapter: url=falseで接続無効化 | E-01 (L159, url: false \| string) | ○ |
| C-04 | connect: 正常接続 | E-02 (connect.ts L9-118) | ○ |
| C-05 | connect: url=falseで早期リターン | E-02 (L17-19) | ○ |
| C-06 | connect: url非文字列でエラー | E-02 (L21-23) | ○ |
| C-07 | connect: hotReloadでautoIndex=false | E-02 (L33-35) | ○ |
| C-08 | connect: 接続失敗時エラー | E-02 (L105-117) | ○ |
| C-09 | init: コレクションモデル初期化 | E-03 (init.ts L30-81) | ○ |
| C-10 | init: バージョンモデル作成 | E-03 (L34-70) | ○ |
| C-11 | init: グローバルモデル初期化 | E-03 (L83) | ○ |
| C-12 | destroy: 接続クローズ | E-04 (destroy.ts L6) | ○ |
| C-13 | destroy: モデル削除 | E-04 (L8-10) | ○ |
| C-14 | create: ドキュメント作成 | E-05 (create.ts L12-75) | ○ |
| C-15 | create: createdAt自動設定 | E-05 (L20-22) | ○ |
| C-16 | create: customIDType処理 | E-05 (L31-32) | ○ |
| C-17 | create: allowIDOnCreate処理 | E-05 (L39-47) | ○ |
| C-18 | create: 不正ObjectIDエラー | E-05 (L41-47) | ○ |
| C-19 | create: returning=falseでnull | E-05 (L61-63) | ○ |
| C-20 | find: 全ドキュメント取得 | E-06 (find.ts L18-178) | ○ |
| C-21 | find: where条件フィルタ | E-06 (L59-65) | ○ |
| C-22 | find: limit制限 | E-06 (L115-125) | ○ |
| C-23 | find: sort処理 | E-06 (L47-57) | ○ |
| C-24 | find: pagination=false | E-06 (L122-124) | ○ |
| C-25 | find: select処理 | E-06 (L84-90) | ○ |
| C-26 | find: near制約 | E-06 (L37-42) | ○ |
| C-27 | find: joins解決 | E-06 (L129-168) | ○ |
| C-28 | findOne: 単一ドキュメント取得 | E-07 (findOne.ts L16-88) | ○ |
| C-29 | findOne: 存在しない場合null | E-07 (L81-83) | ○ |
| C-30 | findOne: select処理 | E-07 (L30-34) | ○ |
| C-31 | updateOne: ドキュメント更新 | E-08 (updateOne.ts L13-111) | ○ |
| C-32 | updateOne: where条件更新 | E-08 (L28) | ○ |
| C-33 | updateOne: $inc操作 | E-08 (L43, 61-62) | ○ |
| C-34 | updateOne: $push操作 | E-08 (L44, 64-65) | ○ |
| C-35 | updateOne: returning=falseでnull | E-08 (L93-96) | ○ |
| C-36 | updateOne: 存在しない場合null | E-08 (L104-106) | ○ |
| C-37 | deleteOne: ドキュメント削除 | E-09 (deleteOne.ts L12-53) | ○ |
| C-38 | deleteOne: returning=falseでnull | E-09 (L34-37) | ○ |
| C-39 | deleteOne: 存在しない場合null | E-09 (L41-43) | ○ |
| C-40 | deleteMany: 複数削除 | E-10 (deleteMany.ts L11-29) | ○ |
| C-41 | deleteMany: 該当なし削除 | E-10 (L28) | ○ |
| C-42 | updateMany: 複数更新 | E-11 (updateMany.ts L15-148) | ○ |
| C-43 | updateMany: limit制限 | E-11 (L109-120) | ○ |
| C-44 | updateMany: returning=falseでnull | E-11 (L127-129) | ○ |
| C-45 | upsert: 作成 | E-12 (upsert.ts L5-19) | ○ |
| C-46 | upsert: 更新 | E-12 (L9-18) | ○ |
| C-47 | count: 全件カウント | E-13 (count.ts L12-60) | ○ |
| C-48 | count: 条件付きカウント | E-13 (L25-31) | ○ |
| C-49 | count: 0件カウント | E-13 (L57-59) | ○ |
| C-50 | count: near制約 | E-13 (L18-23, L51-52) | ○ |
| C-51 | findGlobal: グローバル取得 | E-14 (findGlobal.ts L14-54) | ○ |
| C-52 | findGlobal: 存在しない場合null | E-14 (L42-44) | ○ |
| C-53 | createGlobal: グローバル作成 | E-15 (createGlobal.ts L11-50) | ○ |
| C-54 | createGlobal: returning=falseでnull | E-15 (L36-38) | ○ |
| C-55 | updateGlobal: グローバル更新 | E-16 (updateGlobal.ts L11-45) | ○ |
| C-56 | updateGlobal: returning=falseでnull | E-16 (L35-38) | ○ |
| C-57 | createVersion: バージョン作成 | E-17 (createVersion.ts L9-110) | ○ |
| C-58 | createVersion: latest=true設定 | E-17 (L33) | ○ |
| C-59 | createVersion: 古いlatest解除 | E-17 (L71-94) | ○ |
| C-60 | findVersions: バージョン一覧取得 | E-18 (findVersions.ts L15-135) | ○ |
| C-61 | findVersions: デフォルトソート | E-18 (L49) | ○ |
| C-62 | queryDrafts: 下書き取得 | E-19 (queryDrafts.ts L18-189) | ○ |
| C-63 | queryDrafts: version展開 | E-19 (L182-186) | ○ |
| C-64 | beginTransaction: トランザクション開始 | E-20 (beginTransaction.ts L12-34) | ○ |
| C-65 | beginTransaction: 接続なしエラー | E-20 (L16-18) | ○ |
| C-66 | beginTransaction: 重複開始警告 | E-20 (L27-28) | ○ |
| C-67 | commitTransaction: コミット | E-21 (commitTransaction.ts L5-33) | ○ |
| C-68 | commitTransaction: セッション終了 | E-21 (L28-32) | ○ |
| C-69 | commitTransaction: 存在しないセッション | E-21 (L11-13) | ○ |
| C-70 | rollbackTransaction: ロールバック | E-22 (rollbackTransaction.ts L5-37) | ○ |
| C-71 | rollbackTransaction: セッション終了 | E-22 (L31-36) | ○ |
| C-72 | rollbackTransaction: 存在しないセッション | E-22 (L13-15) | ○ |
| C-73 | buildQuery: クエリ構築 | E-23 (buildQuery.ts L7-33) | ○ |
| C-74 | buildQuery: 空クエリ | E-23 (L22-32) | ○ |
| C-75 | buildSortParam: ソート構築 | E-24 (buildSortParam.ts L145-235) | ○ |
| C-76 | buildSortParam: デフォルトソート | E-24 (L156-162) | ○ |
| C-77 | buildSortParam: フォールバックソート | E-24 (L176-189) | ○ |
| C-78 | buildSortParam: id変換 | E-24 (L201-204) | ○ |
| C-79 | parseParams: AND条件 | E-25 (parseParams.ts L34-51) | ○ |
| C-80 | parseParams: OR条件 | E-25 (L36-37) | ○ |
| C-81 | parseParams: 複数演算子 | E-25 (L76-97) | ○ |
| C-82 | sanitizeQueryValue: ObjectID変換 | E-26 (sanitizeQueryValue.ts L121-135) | ○ |
| C-83 | sanitizeQueryValue: 不正ObjectID | E-26 (L123-127) | ○ |
| C-84 | sanitizeQueryValue: checkbox変換 | E-26 (L177-184) | ○ |
| C-85 | sanitizeQueryValue: 日付変換 | E-26 (L205-209) | ○ |
| C-86 | sanitizeQueryValue: exists演算子 | E-26 (L499-516) | ○ |
| C-87 | sanitizeQueryValue: contains演算子 | E-26 (L452-496) | ○ |
| C-88 | sanitizeQueryValue: near演算子 | E-26 (L414-443) | ○ |
| C-89 | transform: _id→id変換 | E-27 (transform.ts L540-547) | ○ |
| C-90 | transform: __v削除 | E-27 (L541) | ○ |
| C-91 | transform: updatedAt自動設定 | E-27 (L884-893) | ○ |
| C-92 | transform: 配列変換 | E-27 (L518-533) | ○ |
| C-93 | transform: $inc処理 | E-27 (L600-612) | ○ |
| C-94 | transform: $push処理 | E-27 (L615-665) | ○ |
| C-95 | transform: リレーション変換 | E-27 (L827-872) | ○ |
| C-96 | transform: null入力 | E-27 (L514-516) | ○ |
| C-97 | handleError: コード11000 | E-28 (handleError.ts L30-51) | ○ |
| C-98 | handleError: パス抽出keyValue | E-28 (L33-34) | ○ |
| C-99 | handleError: パス抽出message | E-28 (L35-37) | ○ |
| C-100 | handleError: 再スロー | E-28 (L54-55) | ○ |
| C-101 | getSession: セッション取得 | E-29 (getSession.ts L10-42) | ○ |
| C-102 | getSession: req=undefined | E-29 (L14-16) | ○ |
| C-103 | getSession: Promise解決 | E-29 (L20-22) | ○ |
| C-104 | getSession: 期限切れセッション | E-29 (L34-38) | ○ |
| C-105 | getCollection: コレクション取得 | E-30 (getEntity.ts L8-51) | ○ |
| C-106 | getCollection: 存在しないコレクションエラー | E-30 (L24-27) | ○ |
| C-107 | getCollection: バージョンモデル取得 | E-30 (L30-39) | ○ |
| C-108 | getGlobal: グローバル取得 | E-30 (L69-91) | ○ |
| C-109 | getGlobal: 存在しないグローバルエラー | E-30 (L72-76) | ○ |
| C-110 | buildProjectionFromSelect: プロジェクション構築 | E-31 (buildProjectionFromSelect.ts L208-235) | ○ |
| C-111 | buildProjectionFromSelect: select未指定 | E-31 (L217-219) | ○ |
| C-112 | buildProjectionFromSelect: excludeモード | E-31 (L81-96) | ○ |
| C-113 | buildProjectionFromSelect: ネストフィールド | E-31 (L109-130) | ○ |
| C-114 | buildJoinAggregation: パイプライン構築 | E-32 (buildJoinAggregation.ts L37-504) | ○ |
| C-115 | buildJoinAggregation: 機能無効 | E-32 (L47-49) | ○ |
| C-116 | buildJoinAggregation: Join無効化 | E-32 (L50-56) | ○ |
| C-117 | buildJoinAggregation: ポリモーフィックJoin | E-32 (L71-257) | ○ |
| C-118 | aggregatePaginate: ページネーション | E-33 (aggregatePaginate.ts L7-118) | ○ |
| C-119 | aggregatePaginate: ソート適用 | E-33 (L44-52) | ○ |
| C-120 | aggregatePaginate: ページネーション無効 | E-33 (L94-96) | ○ |
| C-121 | getDBName: DB名取得 | E-34 (getDBName.ts L19-47) | ○ |
| C-122 | getDBName: バージョンDB名 | E-34 (L38-40) | ○ |
| C-123 | getDBName: カスタムDB名 | E-34 (L32-33) | ○ |
| C-124 | getDBName: 名前なしエラー | E-34 (L42-44) | ○ |
| C-125 | buildSchema: スキーマ構築 | E-35 (buildSchema.ts L130-206) | ○ |
| C-126 | buildSchema: フィールドタイプ処理 | E-35 (fieldToSchemaMap L887-908) | ○ |
| C-127 | buildSchema: ローカライズ展開 | E-35 (localizeSchema L103-128) | ○ |
| C-128 | buildSchema: ユニーク制約 | E-35 (formatBaseSchema L67-101) | ○ |
| C-129 | buildSchema: 複合インデックス | E-35 (L185-203) | ○ |
| C-130 | buildCollectionSchema: コレクションスキーマ | E-36 (buildCollectionSchema.ts L9-49) | ○ |
| C-131 | buildCollectionSchema: ファイル名インデックス | E-36 (L32-42) | ○ |
| C-132 | migrateFresh: DBドロップ・マイグレーション | E-37 (migrateFresh.ts L9-76) | ○ |
| C-133 | migrateFresh: マイグレーション記録 | E-37 (L55-62) | ○ |
| C-134 | migrateFresh: マイグレーションエラー | E-37 (L67-74) | ○ |

## 4) 不足情報（Unknown / Missing）
- なし
  - 全テストケースはソースコードから直接抽出しており、根拠が明確

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - 全テストケースがソースコードに基づいて作成されている
- 注意点:
  - 実際のMongoDBとの統合テストは別途必要
  - モック/スタブの設計はテスト実装時に検討が必要
  - トランザクション関連のテストはレプリカセット環境が必要

## 6) レビュアーチェックリスト（最小）
- [ ] 各テストケースのテスト観点（正常系/異常系/境界値）が適切か
- [ ] 優先度の設定が妥当か（金額計算・セキュリティは高優先度）
- [ ] 入力値と期待結果の記述が十分に具体的か
- [ ] 前提条件が明確に記述されているか
- [ ] 抜け漏れているテスト観点がないか（特に異常系・境界値）
- [ ] transform関数の複雑なロジック（$inc, $push, $addToSet, $pull）のテストが十分か
- [ ] トランザクション関連のレースコンディションテストが考慮されているか
