Fantastisk, du vil elske Mongo.
I det eksempel, du postede, gentager programmet et sæt resultater. I bruger/adgangskodeproblemet beskriver du, hvad du faktisk forsøger at gøre, er at få ét dokument (ikke et sæt dokumenter) baseret på nogle kriterier.
På skallen, der ville se sådan ud:
n = "login"
p = "password"
db.users.findOne({ user: n, password: p})
Bemærk, at jeg bruger findOne i stedet for find, som returnerer et dokument i stedet for en markør til mange dokumenter.
Lad os nu tage et kig på java-driverens eksempel:
BasicDBObject query = new BasicDBObject();
query.put("i", 71);
cur = coll.find(query);
while(cur.hasNext()) {
System.out.println(cur.next());
}
BasicDBO-objektet opretter forespørgselsobjektet, og derefter sætter du forskellige kriterier, som tilsammen danner din forespørgsel.
Så i stedet for query.put("i", 71);
du ville gøre noget som:
query.put("user", n)
query.put("password", p)
og... i stedet for while-løkken skal du bare bruge findOne i stedet for find, så du ikke behøver at iterere over resultatsættet med 1 objekt (meningsløst).
Du kan læse mere om findOne() her .