Skip to content

feat(command): projection subset for findOneAndUpdate/findOneAndReplace - #91

Merged
midagedev merged 1 commit into
mainfrom
feat/r4-85-findone-projection-parity
Feb 24, 2026
Merged

feat(command): projection subset for findOneAndUpdate/findOneAndReplace#91
midagedev merged 1 commit into
mainfrom
feat/r4-85-findone-projection-parity

Conversation

@midagedev

Copy link
Copy Markdown
Owner

Summary

  • add projection subset support for findOneAndUpdate and findOneAndReplace
  • pass projection through wrappers into findAndModify path (fields)
  • implement projection handling in FindAndModifyCommandHandler for returned value
  • support include/exclude subset with _id override
  • reject mixed include/exclude projection (except _id)
  • add command E2E coverage for include/exclude nested path behavior and invalid mixed projection
  • update compatibility docs

Review Findings

  • no blocking defects found in maintainer review
  • known gap: projection path handling is document-focused and does not attempt full array projection parity

Verification

  • /Users/hckim/.local/gradle-8.10.2/bin/gradle --no-daemon test --tests "org.jongodb.command.CommandDispatcherE2ETest"
  • /Users/hckim/.local/gradle-8.10.2/bin/gradle --no-daemon test --tests "org.jongodb.command.*"

Closes #85

@midagedev

Copy link
Copy Markdown
Owner Author

Maintainer review checklist:\n1) bug-risk findings: no blocking defects found\n2) missing test gaps: array-focused projection parity remains partial\n3) post-review fixes: added mixed projection rejection + nested include/exclude tests\n4) verification rerun: CommandDispatcherE2ETest and command suite passed

@midagedev
midagedev merged commit b194e9a into main Feb 24, 2026
5 checks passed
@midagedev
midagedev deleted the feat/r4-85-findone-projection-parity branch February 24, 2026 05:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[R4 follow-up] Projection parity for findOneAndUpdate/findOneAndReplace

1 participant