mongodb编解码器注册表错误,而试图插入Java枚举

我有一个名为Person.class的类,我有一个称为性的枚举。mongodb编解码器注册表错误,而试图插入Java枚举

public enum Sex{ 

Male,Female

}

而我有一个变量来把这个枚举值。

private Sex sex = Sex.Male; 

public Sex getSex() {

return sex;

}

public void setSex(Sex sex) {

this.sex = sex;

}

其插入,但是当我尝试更新或找回它抛出这个错误被称为

Exception in thread "main" org.bson.codecs.configuration.CodecConfigurationException: Can't find a codec for class in.co.precisionit.pivot.database.model.Person$Sex. 

at org.bson.codecs.configuration.CodecCache.getOrThrow(CodecCache.java:46)

at org.bson.codecs.configuration.ProvidersCodecRegistry.get(ProvidersCodecRegistry.java:63)

at org.bson.codecs.configuration.ProvidersCodecRegistry.get(ProvidersCodecRegistry.java:37)

更新查询:

collection.updateOne(eq("employeeList.user", employeeReference),set("user.$.sex", sex)).getModifiedCount(); 

的检索查询:

Aggregates.unwind("$user"); 

Aggregates.match(eq("user.sex", sex));

Aggregates.group("$_id", Accumulators.push("user", "$user"));

collection.aggregate(Arrays.asList(unwind, match, group)).first().getUser();

plz some帮帮我。

回答:

今天我也遇到了这个。 这似乎是3.6.0驱动程序中的一个错误。有一个新版本(3.6.1),似乎没有这个问题。

以上是 mongodb编解码器注册表错误,而试图插入Java枚举 的全部内容, 来源链接: utcz.com/qa/260991.html

回到顶部