[英]MongoDB exception using Java driver
嗨,所以我試圖使用Java驅動程序編寫以下mongoDB:
db.testDB.find( {$and : [ {EntryFee : {"$lte" : 15} }, {EntryFee : {"$gte" : 10} } ] } )
我的Java代碼如下所示,其中minEntryFee和maxEntryFee都是Integers。
if(minEntryFee != null && maxEntryFee != null ){
BasicDBList list = new BasicDBList();
list.add(BasicDBObjectBuilder.start().push("EntryFee").add("$gte", minEntryFee));
list.add(BasicDBObjectBuilder.start().push("EntryFee").add("$lte", maxEntryFee));
builder.add("$and", list);
return builder.get();
}
但是,當我運行此代碼時,出現以下錯誤:
找不到根源為org.bson.codecs.configuration.CodecConfigurationException的com.mongodb.BasicDBObjectBuilder類的編解碼器:找不到com.mongodb.BasicDBObjectBuilder類的編解碼器。
有任何想法嗎? 謝謝。
當您通過Java驅動程序發送請求時,它會嘗試將請求序列化為BSON格式,並且如果遇到遇到未知編解碼器的對象,則會引發上述異常。
為了解決您的錯誤,您可以嘗試更改:
BasicDBObjectBuilder.start().push("EntryFee").add("$gte", minEntryFee)
至
BasicDBObjectBuilder.start().push("EntryFee").add("$gte", minEntryFee).get()
就第一行而言,返回的不是DBObject而是BasicDBObjectBuilder,后者在驅動程序中沒有任何相關的編解碼器。
謝謝,Yevhenii
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.