素晴らしい、あなたはモンゴを気に入るはずです。
投稿した例では、プログラムは一連の結果を繰り返し処理します。ユーザー/パスワードの問題では、実際に何をしようとしているのかを説明するのは、いくつかの基準に基づいて1つのドキュメント(ドキュメントのセットではない)を取得することです。
このように見えるシェル上:
n = "login"
p = "password"
db.users.findOne({ user: n, password: p})
findの代わりにfindOneを使用していることに注意してください。これは、カーソルの代わりにドキュメントを多くのドキュメントに返します。
それでは、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ループの代わりにfindの代わりにfindOneを使用するだけなので、1つのオブジェクトの結果セットを反復処理する必要はありません(無意味です)。
findOne()の詳細を読むことができますここ 。