@@ -246,6 +246,11 @@ func (coll *Collection) BulkWrite(ctx context.Context, models []WriteModel,
246
246
writeConcern : wc ,
247
247
let : args .Let ,
248
248
}
249
+ if rawDataOpt := optionsutil .Value (args .Internal , "rawData" ); rawDataOpt != nil {
250
+ if rawData , ok := rawDataOpt .(bool ); ok {
251
+ op .rawData = & rawData
252
+ }
253
+ }
249
254
250
255
err = op .execute (ctx )
251
256
@@ -700,6 +705,11 @@ func (coll *Collection) updateOrReplace(
700
705
}
701
706
op = op .Comment (comment )
702
707
}
708
+ if rawDataOpt := optionsutil .Value (args .Internal , "rawData" ); rawDataOpt != nil {
709
+ if rawData , ok := rawDataOpt .(bool ); ok {
710
+ op = op .RawData (rawData )
711
+ }
712
+ }
703
713
retry := driver .RetryNone
704
714
// retryable writes are only enabled updateOne/replaceOne operations
705
715
if ! multi && coll .client .retryWrites {
@@ -794,6 +804,7 @@ func (coll *Collection) UpdateOne(
794
804
Hint : args .Hint ,
795
805
Upsert : args .Upsert ,
796
806
Let : args .Let ,
807
+ Internal : args .Internal ,
797
808
}
798
809
799
810
return coll .updateOrReplace (ctx , f , update , false , rrOne , true , args .Sort , updateOptions )
@@ -884,6 +895,7 @@ func (coll *Collection) ReplaceOne(
884
895
Hint : args .Hint ,
885
896
Let : args .Let ,
886
897
Comment : args .Comment ,
898
+ Internal : args .Internal ,
887
899
}
888
900
889
901
return coll .updateOrReplace (ctx , f , r , false , rrOne , false , args .Sort , updateOptions )
@@ -1536,6 +1548,11 @@ func (coll *Collection) find(
1536
1548
}
1537
1549
op .Sort (sort )
1538
1550
}
1551
+ if rawDataOpt := optionsutil .Value (args .Internal , "rawData" ); rawDataOpt != nil {
1552
+ if rawData , ok := rawDataOpt .(bool ); ok {
1553
+ op = op .RawData (rawData )
1554
+ }
1555
+ }
1539
1556
retry := driver .RetryNone
1540
1557
if coll .client .retryReads {
1541
1558
retry = driver .RetryOncePerCommand
@@ -1569,6 +1586,7 @@ func newFindArgsFromFindOneArgs(args *options.FindOneOptions) *options.FindOptio
1569
1586
v .ShowRecordID = args .ShowRecordID
1570
1587
v .Skip = args .Skip
1571
1588
v .Sort = args .Sort
1589
+ v .Internal = args .Internal
1572
1590
}
1573
1591
return v
1574
1592
}
@@ -1731,6 +1749,11 @@ func (coll *Collection) FindOneAndDelete(
1731
1749
}
1732
1750
op = op .Let (let )
1733
1751
}
1752
+ if rawDataOpt := optionsutil .Value (args .Internal , "rawData" ); rawDataOpt != nil {
1753
+ if rawData , ok := rawDataOpt .(bool ); ok {
1754
+ op = op .RawData (rawData )
1755
+ }
1756
+ }
1734
1757
1735
1758
return coll .findAndModify (ctx , op )
1736
1759
}
@@ -1828,6 +1851,11 @@ func (coll *Collection) FindOneAndReplace(
1828
1851
}
1829
1852
op = op .Let (let )
1830
1853
}
1854
+ if rawDataOpt := optionsutil .Value (args .Internal , "rawData" ); rawDataOpt != nil {
1855
+ if rawData , ok := rawDataOpt .(bool ); ok {
1856
+ op = op .RawData (rawData )
1857
+ }
1858
+ }
1831
1859
1832
1860
return coll .findAndModify (ctx , op )
1833
1861
}
@@ -1937,6 +1965,11 @@ func (coll *Collection) FindOneAndUpdate(
1937
1965
}
1938
1966
op = op .Let (let )
1939
1967
}
1968
+ if rawDataOpt := optionsutil .Value (args .Internal , "rawData" ); rawDataOpt != nil {
1969
+ if rawData , ok := rawDataOpt .(bool ); ok {
1970
+ op = op .RawData (rawData )
1971
+ }
1972
+ }
1940
1973
1941
1974
return coll .findAndModify (ctx , op )
1942
1975
}
0 commit comments