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

C#を使用してMongoDbで投影定義を制御する方法

    これはmongoです MongoDBv4.2.8を使用したシェルクエリ。

    この入力ドキュメントを検討してください:

    {
            "_id" : 1,
            "name" : "john",
            "stuff" : {
                    "mycolor" : "red",
                    "fruit" : "apple",
                    "mybook" : "programming gems",
                    "movie" : "star wars"
            }
    }
    

    目標はプロジェクトです 名前 およびstuff フィールドですが、 stuff "my"で始まるフィールド名のみ 。

    集計クエリ:

    db.test.aggregate([
      { 
          $project: { 
              _id: 0, 
              name: 1, 
              stuff: { 
                  $filter: { 
                      input: { $objectToArray: "$stuff" }, 
                      as: "stf", 
                      cond: { $regexMatch: { input: "$$stf.k" , regex: "^my" } }
                  }
              }
          }
      },
      { 
          $addFields: { stuff: { $arrayToObject: "$stuff" } } 
      }
    ])
    

    そして、予測される出力:

    {
            "name" : "john",
            "stuff" : {
                    "mycolor" : "red",
                    "mybook" : "programming gems"
            }
    }
    



    1. Mongodbキーを使用して回避するものには、を含めることはできません。または$?

    2. PHPからのMongoDBコレクションrunCommand

    3. 新しいmongodbPECL拡張機能ではソートはどのように機能しますか?

    4. ネストされたオブジェクトを使用したMongooseJSでの$inの使用