Skvělé, Mongo si zamilujete.
V příkladu, který jste zveřejnili, program iteruje sadu výsledků. V problému uživatel/heslo popisujete, o co se vlastně pokoušíte, je získat jeden dokument (ne soubor dokumentů) na základě určitých kritérií.
Na shellu, který by vypadal takto:
n = "login"
p = "password"
db.users.findOne({ user: n, password: p})
Všimněte si, že místo find používám findOne, které vrací dokument místo kurzoru do mnoha dokumentů.
Nyní se podívejme na příklad java ovladače:
BasicDBObject query = new BasicDBObject();
query.put("i", 71);
cur = coll.find(query);
while(cur.hasNext()) {
System.out.println(cur.next());
}
BasicDBObject vytvoří objekt dotazu a poté vložíte různá kritéria, která dohromady vytvoří váš dotaz.
Takže místo query.put("i", 71);
udělali byste něco jako:
query.put("user", n)
query.put("password", p)
a... místo cyklu while použijte místo find findOne, abyste nemuseli iterovat přes sadu výsledků 1 objektu (zbytečné).
Můžete si přečíst více o findOne() zde .