繁体   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