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

mongodbは、取得した各ドキュメントにカウンターを追加します

    @prasad_によって言及された回答は機能しているように見えますが、$unwindはMongodb3.2以降、達成を容易にするincludeArrayIndexオプションを備えています:

    db.collection.aggregate([
      {
        $group: {
          _id: null,
          data: {
            $push: "$$ROOT"
          }
        }
      },
      {
        $unwind: {
          path: "$data",
          includeArrayIndex: "counter",
    
        }
      },
      {
        $replaceRoot: {
          newRoot: {
            $mergeObjects: [
              "$data",
              {
                counter: {
                  $add: [
                    "$counter",
                    1
                  ]
                }
              }
            ]
          }
        }
      }
    ])
    

    最後の段階は、ドキュメントの形状を変更し、各カウンターに1を追加するためです。これは、0ベース(配列インデックスに基づく)であるためです

    ここでテストできます。



    1. MongoDBPHPUTF-8の問題

    2. Mongodb/mongoose挿入は関数ではありません

    3. Javaを使用したRedis(キャッシュ)の単一の値を指す複数のキー

    4. マングース、入力されたフィールドでクエリを並べ替える