簡體   English   中英

使用Java驅動程序的MongoDB異常

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM