Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在MongoDB(Java)中使用搜索条件(在我的电子邮件中)检索单个字段(在我的例子中是密码)?_Java_Mongodb_Jsp_Mongodb Java - Fatal编程技术网

如何在MongoDB(Java)中使用搜索条件(在我的电子邮件中)检索单个字段(在我的例子中是密码)?

如何在MongoDB(Java)中使用搜索条件(在我的电子邮件中)检索单个字段(在我的例子中是密码)?,java,mongodb,jsp,mongodb-java,Java,Mongodb,Jsp,Mongodb Java,以下是我已经尝试过的: BasicDBObject searchQuery = new BasicDBObject(); searchQuery.put("email", email_id); DBCursor cursor=collection.find(searchQuery); String usr=null; String pass=null; while(cursor.hasNext()) { usr=(

以下是我已经尝试过的:

    BasicDBObject searchQuery = new BasicDBObject();
    searchQuery.put("email", email_id);        
    DBCursor cursor=collection.find(searchQuery);
    String usr=null;
    String pass=null;
    while(cursor.hasNext())
    {
     usr=(String)cursor.next().get("username");
     pass=(String)cursor.next().get("password");
    }
我正在获取记录中显示的用户名值。但密码返回null

请尝试以下操作:

BasicDBObject searchQuery = new BasicDBObject();
searchQuery.put("email", email_id);
cursor = collection.find(searchQuery);

DBObject resultElement = null;
resultElement = cursor.next();

if(resultElement.containsField("username")){
     String password = (String) resultElement.get("password");
}

希望有帮助:)

我认为最好的方法是使用findOne:

DBObject query = new BasicDBObject("email", email_id);
user = collection.findOne(query);
if (user != null) 
{
  usr=  user.get("username").toString();
  pass=  user.get("password").toString();
}