Genial, te encantará Mongo.
En el ejemplo que publicaste, el programa itera a través de un conjunto de resultados. En el problema de usuario/contraseña, describe lo que realmente está tratando de hacer:obtener un documento (no un conjunto de documentos) en función de algunos criterios.
En el caparazón que se vería así:
n = "login"
p = "password"
db.users.findOne({ user: n, password: p})
Tenga en cuenta que estoy usando findOne en lugar de find, que devuelve un documento en lugar de un cursor a muchos documentos.
Ahora, echemos un vistazo al ejemplo del controlador java:
BasicDBObject query = new BasicDBObject();
query.put("i", 71);
cur = coll.find(query);
while(cur.hasNext()) {
System.out.println(cur.next());
}
BasicDBObject crea el objeto de consulta y luego coloca diferentes criterios que juntos forman su consulta.
Así que en lugar de query.put("i", 71);
harías algo como:
query.put("user", n)
query.put("password", p)
y... en lugar del ciclo while, simplemente use findOne en lugar de find para que no tenga que iterar sobre el conjunto de resultados de 1 objeto (sin sentido).
Puede leer más sobre findOne() aquí .