解决springboot-mongodb-在保存map时key值存在"."的问题
问题:
例子:
请求参数:
"keywordTop" : {
"日本海上8.8米灯塔被大浪冲走" : 41
}
解决方案:
1.创建 mongo.xml配置文件
文件内容如下:(目前还没有测试会不会跟别的配置文件冲突)
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="mongoMoxydomainConverter"
class="org.springframework.data.mongodb.core.convert.MappingMongoConverter">
<constructor-arg index="0" ref="mongoDbFactory"/>
<constructor-arg index="1">
<bean class="org.springframework.data.mongodb.core.mapping.MongoMappingContext"/>
</constructor-arg>
<property name="mapKeyDotReplacement" value="_"/>
</bean>
</beans>
将"."替换为value的值,这里用下划线替换点
2.加载mongo.xml
@SpringBootApplication
@ImportResource("classpath:mongo.xml")
public class MgcServerV2Application extends SpringBootServletInitializer {
3.结果
“日本海上8_8米灯塔被大浪冲走”
可能出现问题
3.1 目前还不清楚会不会和其他配置文件起冲突,所以仅供参考
3.2 目前只能将".“替换,而不是继续使用”."