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