sql >> データベース >  >> NoSQL >> MongoDB

mongodbコレクションでいくつかの値を見つけますか?

    素晴らしい、あなたはモンゴを気に入るはずです。

    投稿した例では、プログラムは一連の結果を繰り返し処理します。ユーザー/パスワードの問題では、実際に何をしようとしているのかを説明するのは、いくつかの基準に基づいて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()の詳細を読むことができますここ



    1. 複数のレコードを持つPyMongoUpdateドキュメント

    2. MongoDBは、パフォーマンスを向上させるためにドキュメントをRAMにプリロードします

    3. Mongooseドキュメントのデフォルトの日付をnow+[いくらかの増分]に設定します

    4. OracleからMongoDBへのデータ移行