我有以下查询作为示例: year = 2012 OR year = 2011 AND name = John OR name = Mike AND county = USA OR country = Canada
使用JAVA驱动程序构建它的最佳方法是什么? 使用DBObject有点棘手,因为它实际上是一个Map,所以键必须是不同的。 我找不到一个像QueryBuilder的好例子(即一个使用循环)。
感谢。
答案 0 :(得分:1)
使用$in
运算符代替$or
。我不熟悉Java驱动程序,但您的查询对象应如下所示:
{
year: { $in: [2012, 2011] },
name: { $in: ['John', 'Mike'] },
country: { $in: ['USA', 'Canada'] }
}