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

MongoDBグループの集約後に_idフィールドの名前を変更することは可能ですか?


はい、集計を使用して名前を変更することは可能です。まず、ドキュメントを使用してコレクションを作成しましょう

> db.renameIdDemo.insertOne({"StudentName":"Chris"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9a1760353decbc2fc927c5")
}
> db.renameIdDemo.insertOne({"StudentName":"Robert"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9a1765353decbc2fc927c6")
}
> db.renameIdDemo.insertOne({"StudentName":"David"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9a176b353decbc2fc927c7")
}

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

> db.renameIdDemo.find();

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

{ "_id" : ObjectId("5c9a1760353decbc2fc927c5"), "StudentName" : "Chris" }
{ "_id" : ObjectId("5c9a1765353decbc2fc927c6"), "StudentName" : "Robert" }
{ "_id" : ObjectId("5c9a176b353decbc2fc927c7"), "StudentName" : "David" }

_idフィールドの名前を変更するクエリは次のとおりです。

> db.renameIdDemo.aggregate({ $project: {
...    _id: 0,
...    mainId: "$_id",
...    count: 1,
...    sum: 1
... }
... }
... );

これにより、次の出力が生成されます。 _idの名前をmainIdに変更しました;

{ "mainId" : ObjectId("5c9a1760353decbc2fc927c5") }
{ "mainId" : ObjectId("5c9a1765353decbc2fc927c6") }
{ "mainId" : ObjectId("5c9a176b353decbc2fc927c7") }

  1. 特定のフィールド値を持つドキュメントをフェッチするためのMongoDB集約?

    これには、aggregate()を使用します。値が「21」のフィールド「Age」を持つドキュメントをフェッチする必要があるとします。 ドキュメントを使用してコレクションを作成しましょう- > db.demo685.insertOne( ...    { ...       "details": ...       [ ...          { ...            

  2. MongoDBのidフィールドを非表示

    ドキュメントを使用してコレクションを作成しましょう- > db.demo575.insertOne({id:101,Information:{Name:"Chris",Age:21}});{    "acknowledged" : true, "insertedId" : ObjectId("5e916a55581e9acd78b427f7") } > db.demo575.insertOne({id:102,Information:{Name:"David",A