13
13
* limitations under the License.
14
14
*/
15
15
16
- using System ;
17
16
using System . Collections . Generic ;
18
17
using System . Collections . ObjectModel ;
19
18
using System . Linq ;
20
- using System . Text ;
21
19
using MongoDB . Bson ;
22
20
using MongoDB . Driver . Support ;
23
21
@@ -260,11 +258,13 @@ public static BulkWriteBatchResult Create(
260
258
var unprocessedRequests = Enumerable . Empty < WriteRequest > ( ) ;
261
259
BsonValue upsertId = null ;
262
260
var documentsAffected = 0L ;
263
- if ( writeConcernResult != null )
261
+
262
+ if ( writeConcernResult != null )
264
263
{
265
- documentsAffected = writeConcernResult . DocumentsAffected ;
266
264
upsertId = writeConcernResult . Upserted ;
265
+ documentsAffected = writeConcernResult . DocumentsAffected ;
267
266
var updateRequest = request as UpdateRequest ;
267
+
268
268
if ( upsertId == null &&
269
269
documentsAffected == 1 &&
270
270
updateRequest != null &&
@@ -273,13 +273,12 @@ public static BulkWriteBatchResult Create(
273
273
{
274
274
// Get the _id field first from the Update document
275
275
// and then from the Query document.
276
- upsertId = updateRequest . Update . ToBsonDocument ( )
277
- . GetValue (
278
- "_id" ,
279
- updateRequest . Query . ToBsonDocument ( )
280
- . GetValue ( "_id" , null ) ) ;
276
+ upsertId =
277
+ updateRequest . Update . ToBsonDocument ( ) . GetValue ( "_id" , null ) ??
278
+ updateRequest . Query . ToBsonDocument ( ) . GetValue ( "_id" , null ) ;
281
279
}
282
280
}
281
+
283
282
var upserts = ( upsertId == null ) ? Enumerable . Empty < BulkWriteUpsert > ( ) : new [ ] { new BulkWriteUpsert ( 0 , upsertId ) } ;
284
283
var writeErrors = __noWriteErrors ;
285
284
WriteConcernError writeConcernError = null ;
0 commit comments