diff options
| author | Lucas de Castro Borges <lucas@gnuabordo.com.br> | 2025-02-11 15:07:35 -0300 |
|---|---|---|
| committer | Lucas de Castro Borges <lucas@gnuabordo.com.br> | 2025-02-11 15:07:35 -0300 |
| commit | 4cb8841196d0625dfa3825aa326f071cd27c7b8b (patch) | |
| tree | 1682a647d4463397c119183369ae6f750d5fdcff /src/mongo/db/pipeline/document_path_support.cpp | |
| parent | aa03c6362cbaa767638e6eed9b031d86dd2643d1 (diff) | |
| parent | 8f0827553e09872941945a093b647a4211a9db7f (diff) | |
Update upstream source from tag 'upstream/6.0.0'master
Update to upstream version '6.0.0'
with Debian dir 5604a80ec1c96ca76f25f40d78e6ef855abec322
Diffstat (limited to 'src/mongo/db/pipeline/document_path_support.cpp')
| -rw-r--r-- | src/mongo/db/pipeline/document_path_support.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/mongo/db/pipeline/document_path_support.cpp b/src/mongo/db/pipeline/document_path_support.cpp index eeb0831b55d..a57d0496a1d 100644 --- a/src/mongo/db/pipeline/document_path_support.cpp +++ b/src/mongo/db/pipeline/document_path_support.cpp @@ -136,18 +136,19 @@ StatusWith<Value> extractElementAlongNonArrayPath(const Document& doc, const Fie return curValue; } -void documentToBsonWithPaths(const Document& input, - const OrderedPathSet& paths, - BSONObjBuilder* builder) { +BSONObj documentToBsonWithPaths(const Document& input, const std::set<std::string>& paths) { + BSONObjBuilder outputBuilder; for (auto&& path : paths) { // getNestedField does not handle dotted paths correctly, so instead of retrieving the // entire path, we just extract the first element of the path. const auto prefix = FieldPath::extractFirstFieldFromDottedPath(path); - if (!builder->hasField(prefix)) { + if (!outputBuilder.hasField(prefix)) { // Avoid adding the same prefix twice. - input.getField(prefix).addToBsonObj(builder, prefix); + input.getField(prefix).addToBsonObj(&outputBuilder, prefix); } } + + return outputBuilder.obj(); } } // namespace document_path_support |
