private BulkWriteResult ExecuteDeletes(MongoConnection connection, IEnumerable <DeleteRequest> requests)
        {
            var operation = new BulkDeleteOperation(new BulkDeleteOperationArgs(
                                                        _collectionName,
                                                        _databaseName,
                                                        _maxBatchCount,
                                                        _maxBatchLength,
                                                        _isOrdered,
                                                        _readerSettings,
                                                        requests,
                                                        _writeConcern,
                                                        _writerSettings));

            return(operation.Execute(connection));
        }
Beispiel #2
0
        // public methods
        public WriteConcernResult Execute(MongoConnection connection)
        {
            var serverInstance = connection.ServerInstance;

            if (!serverInstance.Supports(FeatureId.WriteCommands))
            {
                throw new NotSupportedException("Write commands are not supported.");
            }

            var operation = new BulkDeleteOperation(_args);

            BulkWriteResult    bulkWriteResult;
            BulkWriteException bulkWriteException = null;

            try
            {
                bulkWriteResult = operation.Execute(connection);
            }
            catch (BulkWriteException ex)
            {
                bulkWriteResult    = ex.Result;
                bulkWriteException = ex;
            }

            var converter = new BulkWriteResultConverter();

            if (bulkWriteException != null)
            {
                throw converter.ToWriteConcernException(serverInstance, bulkWriteException);
            }
            else
            {
                if (_args.WriteConcern.Enabled)
                {
                    return(converter.ToWriteConcernResult(bulkWriteResult));
                }
                else
                {
                    return(null);
                }
            }
        }
        // public methods
        public WriteConcernResult Execute(MongoConnection connection)
        {
            var serverInstance = connection.ServerInstance;
            if (!serverInstance.Supports(FeatureId.WriteCommands))
            {
                throw new NotSupportedException("Write commands are not supported.");
            }

            var operation = new BulkDeleteOperation(_args);

            BulkWriteResult bulkWriteResult;
            BulkWriteException bulkWriteException = null;
            try
            {
                bulkWriteResult = operation.Execute(connection);
            }
            catch (BulkWriteException ex)
            {
                bulkWriteResult = ex.Result;
                bulkWriteException = ex;
            }

            var converter = new BulkWriteResultConverter();
            if (bulkWriteException != null)
            {
                throw converter.ToWriteConcernException(bulkWriteException);
            }
            else
            {
                if (_args.WriteConcern.Enabled)
                {
                    return converter.ToWriteConcernResult(bulkWriteResult);
                }
                else
                {
                    return null;
                }
            }
        }
 private BulkWriteResult ExecuteDeletes(MongoConnection connection, IEnumerable<DeleteRequest> requests)
 {
     var operation = new BulkDeleteOperation(new BulkDeleteOperationArgs(
         _collectionName,
         _databaseName,
         _maxBatchCount,
         _maxBatchLength,
         connection.ServerInstance.MaxDocumentSize,
         connection.ServerInstance.MaxWireDocumentSize,
         _isOrdered,
         _readerSettings,
         requests,
         _writeConcern,
         _writerSettings));
     return operation.Execute(connection);
 }