Круто, ты будешь любить Монго.
В примере, который вы разместили, программа просматривает набор результатов. В проблеме пользователя / пароля вы описываете, что вы на самом деле пытаетесь сделать, это получить один документ (не набор документов) на основе некоторых критериев.
На оболочке, которая будет выглядеть так:
n = "login"
p = "password"
db.users.findOne({ user: n, password: p})
Обратите внимание, что я использую findOne вместо find, который возвращает документ вместо курсора на многие документы.
Теперь давайте рассмотрим пример драйвера java:
BasicDBObject query = new BasicDBObject();
query.put("i", 71);
cur = coll.find(query);
while(cur.hasNext()) {
System.out.println(cur.next());
}
BasicDBObject создает объект запроса, а затем вы вводите различные критерии, которые вместе формируют ваш запрос.
Так что вместо query.put("i", 71);
вы бы сделали что-то вроде:
query.put("user", n)
query.put("password", p)
и ... вместо цикла while просто используйте findOne вместо find, чтобы вам не приходилось перебирать результирующий набор из 1 объекта (бессмысленно).
Подробнее о findOne () вы можете прочитать здесь .