Skip to content

Commit cbffa77

Browse files
author
Isabella Siu
committed
return underlying type for a document for value.Interface()
GODRIVER-548 GODRIVER-529 Change-Id: Ia4364ca7895fa8f15a627ab398db15ed10cb2296
1 parent 44d349d commit cbffa77

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

bson/element_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2607,7 +2607,7 @@ func testValidateValue(t *testing.T) {
26072607
EC.SubDocumentFromElements("barer", EC.Int32("ok", 1)),
26082608
),
26092609
),
2610-
`bson.Document{bson.Element{[string]"foo": "bar"}, bson.Element{[embedded document]"fooer": bson.Reader{bson.Element{[embedded document]"barer": bson.Reader{bson.Element{[32-bit integer]"ok": 1}}}}}}`,
2610+
`bson.Document{bson.Element{[string]"foo": "bar"}, bson.Element{[embedded document]"fooer": bson.Document{bson.Element{[embedded document]"barer": bson.Document{bson.Element{[32-bit integer]"ok": 1}}}}}}`,
26112611
},
26122612
{
26132613
"nested reader",

bson/value.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,15 @@ func (v *Value) Interface() interface{} {
6060
case TypeString:
6161
return v.StringValue()
6262
case TypeEmbeddedDocument:
63-
return v.ReaderDocument().String()
63+
if v.d == nil {
64+
return v.ReaderDocument()
65+
}
66+
return v.d
6467
case TypeArray:
65-
return v.MutableArray().String()
68+
if v.d == nil {
69+
return v.ReaderArray()
70+
}
71+
return v.MutableArray()
6672
case TypeBinary:
6773
_, data := v.Binary()
6874
return data

0 commit comments

Comments
 (0)