@@ -246,6 +246,11 @@ func (coll *Collection) BulkWrite(ctx context.Context, models []WriteModel,
246246 writeConcern : wc ,
247247 let : args .Let ,
248248 }
249+ if rawDataOpt := optionsutil .Value (args .Internal , "rawData" ); rawDataOpt != nil {
250+ if rawData , ok := rawDataOpt .(bool ); ok {
251+ op .rawData = & rawData
252+ }
253+ }
249254
250255 err = op .execute (ctx )
251256
@@ -700,6 +705,11 @@ func (coll *Collection) updateOrReplace(
700705 }
701706 op = op .Comment (comment )
702707 }
708+ if rawDataOpt := optionsutil .Value (args .Internal , "rawData" ); rawDataOpt != nil {
709+ if rawData , ok := rawDataOpt .(bool ); ok {
710+ op = op .RawData (rawData )
711+ }
712+ }
703713 retry := driver .RetryNone
704714 // retryable writes are only enabled updateOne/replaceOne operations
705715 if ! multi && coll .client .retryWrites {
@@ -794,6 +804,7 @@ func (coll *Collection) UpdateOne(
794804 Hint : args .Hint ,
795805 Upsert : args .Upsert ,
796806 Let : args .Let ,
807+ Internal : args .Internal ,
797808 }
798809
799810 return coll .updateOrReplace (ctx , f , update , false , rrOne , true , args .Sort , updateOptions )
@@ -884,6 +895,7 @@ func (coll *Collection) ReplaceOne(
884895 Hint : args .Hint ,
885896 Let : args .Let ,
886897 Comment : args .Comment ,
898+ Internal : args .Internal ,
887899 }
888900
889901 return coll .updateOrReplace (ctx , f , r , false , rrOne , false , args .Sort , updateOptions )
@@ -1536,6 +1548,11 @@ func (coll *Collection) find(
15361548 }
15371549 op .Sort (sort )
15381550 }
1551+ if rawDataOpt := optionsutil .Value (args .Internal , "rawData" ); rawDataOpt != nil {
1552+ if rawData , ok := rawDataOpt .(bool ); ok {
1553+ op = op .RawData (rawData )
1554+ }
1555+ }
15391556 retry := driver .RetryNone
15401557 if coll .client .retryReads {
15411558 retry = driver .RetryOncePerCommand
@@ -1569,6 +1586,7 @@ func newFindArgsFromFindOneArgs(args *options.FindOneOptions) *options.FindOptio
15691586 v .ShowRecordID = args .ShowRecordID
15701587 v .Skip = args .Skip
15711588 v .Sort = args .Sort
1589+ v .Internal = args .Internal
15721590 }
15731591 return v
15741592}
@@ -1731,6 +1749,11 @@ func (coll *Collection) FindOneAndDelete(
17311749 }
17321750 op = op .Let (let )
17331751 }
1752+ if rawDataOpt := optionsutil .Value (args .Internal , "rawData" ); rawDataOpt != nil {
1753+ if rawData , ok := rawDataOpt .(bool ); ok {
1754+ op = op .RawData (rawData )
1755+ }
1756+ }
17341757
17351758 return coll .findAndModify (ctx , op )
17361759}
@@ -1828,6 +1851,11 @@ func (coll *Collection) FindOneAndReplace(
18281851 }
18291852 op = op .Let (let )
18301853 }
1854+ if rawDataOpt := optionsutil .Value (args .Internal , "rawData" ); rawDataOpt != nil {
1855+ if rawData , ok := rawDataOpt .(bool ); ok {
1856+ op = op .RawData (rawData )
1857+ }
1858+ }
18311859
18321860 return coll .findAndModify (ctx , op )
18331861}
@@ -1937,6 +1965,11 @@ func (coll *Collection) FindOneAndUpdate(
19371965 }
19381966 op = op .Let (let )
19391967 }
1968+ if rawDataOpt := optionsutil .Value (args .Internal , "rawData" ); rawDataOpt != nil {
1969+ if rawData , ok := rawDataOpt .(bool ); ok {
1970+ op = op .RawData (rawData )
1971+ }
1972+ }
19401973
19411974 return coll .findAndModify (ctx , op )
19421975}
0 commit comments