MongoDB
 Computer >> コンピューター >  >> プログラミング >> MongoDB

MongoDBの集計フレームワークを使用して他のフィールドを含めずに_idを除外するにはどうすればよいですか?


まず、ドキュメントを使用してコレクションを作成しましょう-

> db.excludeIdDemo.insertOne({"StudentFirstName":"John","StudentAge":21});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd701a56d78f205348bc632")
}
> db.excludeIdDemo.insertOne({"StudentFirstName":"Robert","StudentAge":20});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd701af6d78f205348bc633")
}
> db.excludeIdDemo.insertOne({"StudentFirstName":"Chris","StudentAge":24});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd701b86d78f205348bc634")
}

以下は、find()メソッドを使用してコレクションからすべてのドキュメントを表示するためのクエリです-

> db.excludeIdDemo.find();

これにより、次の出力が生成されます-

{ "_id" : ObjectId("5cd701a56d78f205348bc632"), "StudentFirstName" : "John", "StudentAge" : 21 }
{ "_id" : ObjectId("5cd701af6d78f205348bc633"), "StudentFirstName" : "Robert", "StudentAge" : 20 }
{ "_id" : ObjectId("5cd701b86d78f205348bc634"), "StudentFirstName" : "Chris", "StudentAge" : 24 }

以下は、集計フレームワークを使用して他のフィールドを含めずに_idを除外するクエリです-

> db.excludeIdDemo.aggregate(
   {
      $project :
      {
         _id : 0,
         "StudentFirstName": 1
      }
   }
);

これにより、次の出力が生成されます-

{ "StudentFirstName" : "John" }
{ "StudentFirstName" : "Robert" }
{ "StudentFirstName" : "Chris" }

  1. _idを除くすべてのフィールド値を表示するMongoDBクエリ

    ドキュメントを使用してコレクションを作成しましょう- > db.demo590.insert([ ...    { "Name": "Chris", "Age": 21 }, ...    {"Name": "Bob", "Age": 20}, ...    { "Name": "Sam", "Age": 19 } ... ]); BulkWriteR

  2. MongoDBの$projectを使用して配列内の特定のフィールドを表示し、他のフィールドを無視するにはどうすればよいですか?

    特定のフィールドを表示するには、$projectを$unwindと一緒に使用します。フィールドを無視するには、0に設定します。ドキュメントを使用してコレクションを作成しましょう- > db.demo731.insertOne({ "ProductInformation": [ { ProductId:"Product-1", ProductPrice:80 }, { ProductId:"Product-2", ProductPrice:45 }, { ProductId:"Product-3", Produ