diff --git a/data/crud/test_files.txt b/data/crud/test_files.txt index 6e66735e17..e7ee0e2b28 100644 --- a/data/crud/test_files.txt +++ b/data/crud/test_files.txt @@ -37,4 +37,5 @@ v2/aggregate-merge.json v2/aggregate-out-readConcern.json v2/bulkWrite-arrayFilters.json v2/db-aggregate.json +v2/find-allowdiskuse.json v2/updateWithPipelines.json diff --git a/src/mongocxx/test/spec/operation.cpp b/src/mongocxx/test/spec/operation.cpp index e7b1417ed5..740bcfc12f 100644 --- a/src/mongocxx/test/spec/operation.cpp +++ b/src/mongocxx/test/spec/operation.cpp @@ -267,6 +267,10 @@ document::value operation_runner::_run_find(document::view operation) { options.sort(arguments["sort"].get_document().value); } + if (arguments["allowDiskUse"]) { + options.allow_disk_use(arguments["allowDiskUse"].get_bool().value); + } + if (arguments["modifiers"]) { document::view modifiers = arguments["modifiers"].get_document().value; if (modifiers["$comment"]) { diff --git a/src/mongocxx/test_util/client_helpers.cpp b/src/mongocxx/test_util/client_helpers.cpp index 3508c6d472..0347264dd2 100644 --- a/src/mongocxx/test_util/client_helpers.cpp +++ b/src/mongocxx/test_util/client_helpers.cpp @@ -343,7 +343,7 @@ bool matches(types::bson_value::view main, continue; } if (main_view.find(el.key()) == main_view.end()) { - return false; + return el.get_value().type() == type::k_null; } if (!matches(main_view[el.key()].get_value(), el.get_value(), visitor_fn)) { return false;