summaryrefslogtreecommitdiff
path: root/src/mongo/db/namespace_string.cpp
diff options
context:
space:
mode:
authorArun Banala <arun.banala@mongodb.com>2020-11-02 18:09:28 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-01-07 20:04:53 +0000
commitc8ddb496f147e5a977eb668247b81da313d06e1d (patch)
tree34ba0cc443ec6294c5585d0951d5430cc69349e2 /src/mongo/db/namespace_string.cpp
parentd0cfd1d0c0fcfd75525a8d8f3a050876bc9d1e40 (diff)
downloadmongo-c8ddb496f147e5a977eb668247b81da313d06e1d.tar.gz
SERVER-51619 Convert find command input to IDL
Diffstat (limited to 'src/mongo/db/namespace_string.cpp')
-rw-r--r--src/mongo/db/namespace_string.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/mongo/db/namespace_string.cpp b/src/mongo/db/namespace_string.cpp
index b0d876cde44..3b28b021c50 100644
--- a/src/mongo/db/namespace_string.cpp
+++ b/src/mongo/db/namespace_string.cpp
@@ -325,6 +325,23 @@ std::string NamespaceStringOrUUID::toString() const {
return _uuid->toString();
}
+void NamespaceStringOrUUID::serialize(BSONObjBuilder* builder, StringData fieldName) const {
+ invariant(_uuid || _nss);
+ if (_preferNssForSerialization) {
+ if (_nss) {
+ builder->append(fieldName, _nss->coll());
+ } else {
+ _uuid->appendToBuilder(builder, fieldName);
+ }
+ } else {
+ if (_uuid) {
+ _uuid->appendToBuilder(builder, fieldName);
+ } else {
+ builder->append(fieldName, _nss->coll());
+ }
+ }
+}
+
std::ostream& operator<<(std::ostream& stream, const NamespaceString& nss) {
return stream << nss.toString();
}