@Bean
    public TurmsMongoClient userMongoClient(TurmsPropertiesManager propertiesManager) {
        UserMongoProperties properties = propertiesManager.getLocalProperties()
                .getService()
                .getMongo()
                .getUser();
        UserMongoProperties.WriteConcernProperties writeConcern = properties.getWriteConcern();
        TurmsMongoClient mongoClient = getMongoClient(properties,
                "user",
                Set.of(ClusterType.SHARDED, ClusterType.LOAD_BALANCED));
        mongoClient.registerEntitiesByOptions(
                MongoCollectionOptions.of(User.class, writeConcern.getUser()),
                MongoCollectionOptions.of(UserFriendRequest.class,
                        writeConcern.getUserFriendRequest()),
                MongoCollectionOptions.of(UserRelationship.class,
                        writeConcern.getUserRelationship()),
                MongoCollectionOptions.of(UserRelationshipGroup.class,
                        writeConcern.getUserRelationshipGroup()),
                MongoCollectionOptions.of(UserRelationshipGroupMember.class,
                        writeConcern.getUserRelationshipGroupMember()),
                MongoCollectionOptions.of(UserRole.class, writeConcern.getUserRole()),
                MongoCollectionOptions.of(UserVersion.class, writeConcern.getUserVersion()));
        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