@Override
    public <T> Mono<UpdateResult> updateMany(
            @Nullable ClientSession session,
            Class<T> clazz,
            Filter filter,
            Update update) {
        MongoCollection<T> collection = context.getCollection(clazz);
        Publisher<UpdateResult> source = session == null
                ? collection.updateMany(filter, update, DEFAULT_UPDATE_OPTIONS)
                : collection.updateMany(session, filter, update, DEFAULT_UPDATE_OPTIONS);
        return Mono.from(source);
    }
apply the shard key to the filter so that mongos know to which MongoDB the command needs to
be sent for better performance
turms-server-common/src/main/java/im/turms/server/common/storage/mongo/operation/TurmsMongoOperations.java