@Bean
    public TurmsMongoClient conversationMongoClient(TurmsPropertiesManager propertiesManager) {
        ConversationMongoProperties properties = propertiesManager.getLocalProperties()
                .getService()
                .getMongo()
                .getConversation();
        ConversationMongoProperties.WriteConcernProperties writeConcern =
                properties.getWriteConcern();
        TurmsMongoClient mongoClient = getMongoClient(properties,
                "conversation",
                Set.of(ClusterType.SHARDED, ClusterType.LOAD_BALANCED));
        mongoClient.registerEntitiesByOptions(
                MongoCollectionOptions.of(PrivateConversation.class,
                        writeConcern.getConversation()),
                MongoCollectionOptions.of(GroupConversation.class, writeConcern.getConversation()));
        return mongoClient;
    }
@author James Chen
@see org.springframework.boot.autoconfigure.data.mongo.MongoReactiveDataAutoConfiguration
turms-service/src/main/java/im/turms/service/storage/mongo/MongoConfig.java