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

Mongodbで.aggregateを使用するfindOneと同等のものは何ですか?

    サンプルのnamesを考えてみましょう コレクション:

    { _id: 1, name: "Jack", favoriteColor: "blue" },
    { _id: 2, name: "James", favoriteColor: "red" },
    { _id: 3, name: "John", favoriteColor: "blue" }
    

    findOneを使用して次の3つのクエリを実行します :

    db.names.findOne( { _id: 1 } )
    db.names.findOne()
    db.names.findOne( { favoriteColor : "blue" } )
    

    結果は3つのクエリで同じです:

    { "_id" : 1, "name" : "Jack", "favoriteColor" : "blue" }
    


    それぞれ、集計を使用した同等のクエリ 次のようになり、同じ結果になります:

    db.names.aggregate( [
      { $match: { _id: 1 } },
    ] )
    
    db.names.aggregate( [
      { $limit: 1 }
    ] )
    
    
    db.names.aggregate( [
      { $match: { "favoriteColor" : "blue" } },
      { $limit: 1 }
    ] )
    


    db.collection.findOne 定義によると-

    findOneを使用 ドキュメントが見つからない場合は、nullを返します 。ただし、集計 カーソルを返し、カーソルメソッド 結果について。



    1. Dockerコンテナ間でRedisデータを存続させます-Dockerコンテナでダウンとアップを作成します

    2. 周囲のプレイヤーとモンゴでリーダーボードをランク​​付けする

    3. MongoDBで長いタイムスタンプにTTLインデックスを作成する方法

    4. mongoシェル内のすべてのデータベースを一覧表示するにはどうすればよいですか?