mongodb - java中的mongodb查询

标签 mongodb mongodb-java mongodb-query

我必须使用 java 编写一个复杂的 mongo 查询,但我做不到。

mongo 查询如下所示:

db.video.findOne( { 
    $or: [ 
        { key1: { $in : [764] } }, 
        { key2: {$in : [list2] } }, 
        { $and [ { key2 : 3}, {key4:67} ] } 
    ]
})

我必须使用 QueryBuilder 类编写上述查询。我可以通过什么方式做到这一点?

谢谢

最佳答案

使用 QueryBuilder 你的查询应该是这样的

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 复制/粘贴查询:

collection.findOne("{$or:[{key1: {$in:[764]}},{key2:{$in:[#]}}, {$and:[{key3:3},{key4:67}]}]}", keys).as(People.class);

关于mongodb - java中的mongodb查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10444038/

相关文章:

ruby-on-rails - Mongoid:与别名有很多关系

html - 使用 Angular 和 Node js 的单页应用程序

java - 连接到 AWS DocumentDB 时出现 com.mongodb.CommandFailureException

javascript - 访问 MongoDB MapReduce 中的关联数组/对象

mongodb - 获取时对集合中的文档进行排序

java - Mongo DB 删除集合 Java 驱动程序中某个字段中的重复项

mongodb - 如何加入两个有条件的额外集合

java - 如何使用 Java 对 MongoDB 中的文档进行批量更新?

java - 如何解决 120000 MILLISECONDS 异常错误后 mongodb client Timeout waiting for a pooled item

mongodb - 如何同时使用 $gt 和 $lte 优化 MongoDB 查询?