题记:这是在用springboot整合mongoDB开发时出现了错误
java
.lang
.IllegalArgumentException
: Collation not supported by wire version
: 3
at com
.mongodb
.internal
.operation
.OperationHelper
.validateCollation(OperationHelper
.java
:126) ~[mongodb
-driver
-core
-4.0.3.jar
:na
]
at com
.mongodb
.internal
.operation
.OperationHelper
.validateCollation(OperationHelper
.java
:121) ~[mongodb
-driver
-core
-4.0.3.jar
:na
]
at com
.mongodb
.internal
.operation
.OperationHelper
.validateReadConcernAndCollation(OperationHelper
.java
:225) ~[mongodb
-driver
-core
-4.0.3.jar
:na
]
at com
.mongodb
.internal
.operation
.FindOperation$
1.call(FindOperation
.java
:639) ~[mongodb
-driver
-core
-4.0.3.jar
:na
]
at com
.mongodb
.internal
.operation
.FindOperation$
1.call(FindOperation
.java
:625) ~[mongodb
-driver
-core
-4.0.3.jar
:na
]
at com
.mongodb
.internal
.operation
.OperationHelper
.withReadConnectionSource(OperationHelper
.java
:462) ~[mongodb
-driver
-core
-4.0.3.jar
:na
]
at com
.mongodb
.internal
.operation
.FindOperation
.execute(FindOperation
.java
:625) ~[mongodb
-driver
-core
-4.0.3.jar
:na
]
at com
.mongodb
.internal
.operation
.FindOperation
.execute(FindOperation
.java
:77) ~[mongodb
-driver
-core
-4.0.3.jar
:na
]
at com
.mongodb
.client
.internal
.MongoClientDelegate$DelegateOperationExecutor
.execute(MongoClientDelegate
.java
:190) ~[mongodb
-driver
-sync
-4.0.3.jar
:na
]
at com
.mongodb
.client
.internal
.FindIterableImpl
.first(FindIterableImpl
.java
:189) ~[mongodb
-driver
-sync
-4.0.3.jar
:na
]
主要错误是 Collation not supported by wire version: 3 这个它大概是说我这个mongoDb版本不支持排序,我顿时裂开…
期间我改了前端和后端的代码接收格式,改了get,post,json等等,问题依然存在, 于是我到百度搜相关的问题,发现,貌似并没有人遇到这么愚蠢的问题,为什么说愚蠢,请看下文(卑微一会。。。。。)
幸亏功夫不负有心人,无意间被我看到,实体类指定mongoDB表有 @Document(collection = “”)与@Document(collation= “”) 这两个东西,很像对吧?于是我看了我的实体类指定表面的类,我傻了。。。。。
surprised…我用的居然是collation…
这里一开始是有提示的,因为我指定了表名,但是数据库的表并不是我指定的t_user,但是没注意,结果这才是问题的关键。。。。因为上面我有写过相关的表,这个这么异类我没发现。。。咳。。。 按理说,只要实体类@Document(collection = “”)指定了表名,数据库是会根据指定的表名建数据库的。
看到问题所在,于是我把collation改回collection后,前后端就。。。正常了。。。再次裂开。。。
后端也访问成功了 前端也正常了。。。
知道我为什么说这是个愚蠢的问题,百度都没人遇到过了吧,哭~ 所以说,写代码不能粗心,不能赶快,不然一个英文字母都会让你找两天! 在次感谢这篇让我无意间看到的文章,@Document(collection = “”)与@Document(collation= “”)的区别 ,具体供大家参考一下;
参考地址:@Document(collection = “”)与@Document(collation= “”)的区别