Я просто не нашел эту конфигурацию на уровне запросов.
С точки зрения установки этого для конкретного запроса, драйвер Java имеет следующую подпись для find()
метода здесь :
find(DBObject query, DBObject fields, int numToSkip, int batchSize, int options)
Эта настройка options
должна позволять вам устанавливать параметры запроса, такие как время ожидания сокета для конкретного запроса.
Приведенный выше метод помечен как устаревший, но вы также можете установить параметры для конкретного курсора .
Я хочу настроить другое socketTimeout для чтения и записи. Ничего страшного, если запись будет медленной, но чтение должно быть очень быстрым, иначе я хочу, чтобы запись не удалась.
Обратите внимание, что чтение может привести к нескольким чтениям в сокете. Документы возвращаются с сервера партиями. Таким образом, вы можете получить свои первые 100 результатов очень быстро, но затем вы можете использовать следующие 100 результатов.
Если ваши запросы связаны с большим количеством возвращаемых документов, вы должны знать об этом.