0

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

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

谢谢。

4

1 回答 1

1

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

{
    year: { $in: [2012, 2011] },
    name: { $in: ['John', 'Mike'] },
    country: { $in: ['USA', 'Canada'] }
}
于 2012-08-07T17:19:47.460 回答