summaryrefslogtreecommitdiff
path: root/src/mongo/bson/mutable/element.cpp
diff options
context:
space:
mode:
authorAndrew Morrow <acm@10gen.com>2013-07-09 18:56:30 -0400
committerAndrew Morrow <acm@10gen.com>2013-07-09 20:02:51 -0400
commit2dd8b16ebbafd564fcd2967ec390da222dedc3c5 (patch)
tree329ad85493342d1e080c137bf8a9e2c44313933a /src/mongo/bson/mutable/element.cpp
parent5623bbd54da40c28f876a516760836b29ab2441f (diff)
downloadmongo-2dd8b16ebbafd564fcd2967ec390da222dedc3c5.tar.gz
SERVER-8046 Cleanup Element::writeArrayTo and add a test for the new implementation
Diffstat (limited to 'src/mongo/bson/mutable/element.cpp')
-rw-r--r--src/mongo/bson/mutable/element.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/mongo/bson/mutable/element.cpp b/src/mongo/bson/mutable/element.cpp
index 79de5b073ec..746c4c43dbe 100644
--- a/src/mongo/bson/mutable/element.cpp
+++ b/src/mongo/bson/mutable/element.cpp
@@ -158,10 +158,12 @@ namespace mutablebson {
BSONObj obj = builder.obj();
return obj.firstElement().toString();
} else if (isType(mongo::Array)) {
- BSONArrayBuilder builder;
- writeArrayTo(&builder);
- BSONArray arr = builder.arr();
- return arr.firstElement().toString();
+ BSONObjBuilder builder;
+ BSONArrayBuilder arrayBuilder(builder.subarrayStart(getFieldName()));
+ writeArrayTo(&arrayBuilder);
+ arrayBuilder.done();
+ BSONObj obj = builder.obj();
+ return obj.firstElement().toString();
} else {
return "corrupted element";
}