本文介绍了Java中的Mongo DB查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我必须使用Java编写一个复杂的mongo查询,但无法做到这一点.
I have to write a complex mongo query using java but am not able to do it.
mongo查询如下:
The mongo query looks like this:
db.video.findOne( { $or: [ { key1: { $in : [764] } }, { key2: {$in : [list2] } }, { $and [ { key2 : 3}, {key4:67} ] } ] })我必须使用QueryBuilder类编写以上查询.我该怎么办?
I have to write the above query using the QueryBuilder class. In what way can I do it?
谢谢
推荐答案使用QueryBuilder,您的查询应如下所示
Using QueryBuilder your query should look like this
DBObject query = QueryBuilder.start().or( QueryBuilder.start("key1").in(764).get(), QueryBuilder.start("key2").in(keys).get(), QueryBuilder.start().and("key3").is(3).and("key4").is(64).get() ).get();考虑使用 jongo (基于mongo-java-driver的API),您可以简单地从shell复制/粘贴查询:
Consider using jongo (an API over mongo-java-driver) you can simply copy/paste queries from the shell :
collection.findOne("{$or:[{key1: {$in:[764]}},{key2:{$in:[#]}}, {$and:[{key3:3},{key4:67}]}]}", keys).as(People.class);更多推荐
Java中的Mongo DB查询
发布评论