我有一个集合 twitter
,其中包含具有 email
作为 _id
和 token
字段作为 的文档字符串
.
{
"_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/