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

グループ化をMongoDBのオブジェクトに投影し、マークフィールドのみを表示するにはどうすればよいですか?


最初にドキュメントを作成しましょう-

> var document= [
...    { "SubjectName" : "MySQL", "Marks" : 78 },
...    { "SubjectName" : "MongoDB", "Marks" : 89 },
...    { "SubjectName" : "Java", "Marks" : 71 },
... ];

以下は、ドキュメントを表示するためのクエリです-

> printjson(document);

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

[
   {
      "SubjectName" : "MySQL",
      "Marks" : 78
   },
   {
      "SubjectName" : "MongoDB",
      "Marks" : 89
   },
   {
      "SubjectName" : "Java",
      "Marks" : 71
   }
]

以下は、MongoDBのオブジェクトへのプロジェクトのグループ化へのクエリです-

> var makeObject= {};
> document.forEach(function (d){
...    makeObject[d.SubjectName] = d.Marks;
... });
> printjson(makeObject);

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

{ "MySQL" : 78, "MongoDB" : 89, "Java" : 71 }

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

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

  2. ネストされたMongoDBドキュメントのキーのみを表示するにはどうすればよいですか?

    ドキュメントを使用してコレクションを作成しましょう- > db.demo740.insertOne({ ...    "details": ...    [ ...       { ...          Name:"Chris", ...          Age:21, ...          CountryName:&qu