0
我有一個名爲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.1的更新版本。 –
http://mongodb.github.io/mongo-java-driver/在他們的首頁上列出它。 另外它可以通過maven中心。 – GTFK
它在更新和檢索枚舉時似乎不起作用。我更新了我的問題 –