【问题标题】:How to specify Multiple conditions in Java Mongo如何在 Java Mongo 中指定多个条件
【发布时间】:2011-01-28 14:34:07
【问题描述】:

我有一个代码要求我从 mongo 数据库集合中获取用户详细信息

以下是我的用户集合中的字段之一

"emailSettings" : {
    "flag1" : true,
    "flag2" : true,
    "flag3" : true,
},

我正在使用 BasicDB 对象从我的 java 程序中解析 Mongo 集合,我希望获得所有满足 emailSettings.flag1 =trueemailSettings.flag2 = true 的条目。

当我使用BasicDBObject 执行此操作时,我能够获得仅满足其中一个条件的条目。

有解决办法吗?

【问题讨论】:

    标签: java mongodb mongo-java


    【解决方案1】:

    在 Mongo 查询部分默认与“和”运算符组合。所以简单地这样做

    DBObject query = BasicDBObjectBuilder.start("emailSettings.flag1", true).add("emailSettings.flag2", true).get();
    

    应该会给你预期的结果。

    【讨论】:

    • 如果我还需要检查上述语句中的一个条件,例如:我需要检查emailsettings.email字段是否有“@gmail.com”,我需要检查是否有电子邮件 ID 字段中的子字符串“test.com”
    • @Raja 你可以使用正则表达式:mongodb.org/display/DOCS/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-06
    • 1970-01-01
    • 2019-08-24
    • 2016-08-20
    • 2014-09-15
    相关资源
    最近更新 更多