MongoDB - Java - 什么是组合逻辑OR和逻辑AND的最简单方法?

时间:2012-08-07 16:39:46

标签: java mongodb

我有以下查询作为示例: year = 2012 OR year = 2011 AND name = John OR name = Mike AND county = USA OR country = Canada

使用JAVA驱动程序构建它的最佳方法是什么? 使用DBObject有点棘手,因为它实际上是一个Map,所以键必须是不同的。 我找不到一个像QueryBuilder的好例子(即一个使用循环)。

感谢。

1 个答案:

答案 0 :(得分:1)

使用$in运算符代替$or。我不熟悉Java驱动程序,但您的查询对象应如下所示:

{
    year: { $in: [2012, 2011] },
    name: { $in: ['John', 'Mike'] },
    country: { $in: ['USA', 'Canada'] }
}