如何在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();
}