java - 如何使用java在mongodb中使用_id查询集合中是否存在某个字段?

标签 java mongodb mongodb-java

我有一个集合 twitter,其中包含具有 email 作为 _idtoken 字段作为 的文档字符串.

{
    "_id":"abc@gmail.com",
    "token":"TWTR",
    "screen_name":"xyz",
    "location":"pqr"
}
{
    "_id":"jkl@gmail.com",
    "screen_name":"jkl",
    "location":"abc"
}

如何在 java 中编写查询,仅当 token 值存在时返回 true 在所有其他情况下返回 false 是否 token 值为 null 或 empty。例如,在上面的 twitter 集合中,它应该为 "_id":"abc@gmail.com" 返回 true,为 返回 false "_id":"jkl@gmail.com"

最佳答案

您可以在这些问题上使用$ne 和“$exists”运算符以及count() 方法:

private static boolean exist(DBCollection coll, String key)
{
    DBObject query = new BasicDBObject("token", new BasicDBObject( "$ne", "").append("$exists", true)).append("_id", key);

    return coll.count(query) == 1;      
}

exist(coll, "abc@gmail.com"); // true
exist(coll, "jkl@gmail.com"); // false

关于java - 如何使用java在mongodb中使用_id查询集合中是否存在某个字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27958485/

相关文章:

java - 在使用 java 获取文档时在 mongo 查询中传递 DBRef

mongodb - 如何检索Mongodb中数组中存在的所有匹配元素?

java - EMR 上的 Oozie - 任务永远卡在 PREP 状态

java - 将 tryLock() 与 wait() 和 notify()/notifyAll() 一起使用

c++ - 如何在 mongocxx (c++) 中抑制字段?

javascript - Mongoose/MongoDB - 更新子文档不起作用

java - 使用 java mongo db 驱动程序使用 MongoDB 插入时出现重复键错误

java - java中的String有长度限制吗?

java - 使用 IntelliJ 调试 GWT

javascript - Express Js Mongodb 初始连接设置困难