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

MongoDBのプロジェクトフィールド


MongoDBでフィールドをプロジェクトするには、$projectを使用します。ドキュメントを使用してコレクションを作成しましょう-

> db.demo439.insertOne(
...    {
...       "Name" : "Chris",
...       "MarksInformation" : {
...          "Marks1" : 67,
...          "Marks2" :45,
...          "Marks3" : 78
...       }
...    }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e77833abbc41e36cc3caeab")
}
> db.demo439.insertOne(
...    {
...       "Name" : "David",
...       "MarksInformation" : {
...          "Marks1" : 50,
...          "Marks2" :57,
...          "Marks3" : 68
...       }
...    }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e77833abbc41e36cc3caeac")
}
> db.demo439.insertOne(
...    {
...       "Name" : "Bob",
...       "MarksInformation" : {
...          "Score1" : 65,
...          "Score2" :71,
...
...       }
...    }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e77833bbbc41e36cc3caead")
}

find()メソッドを使用してコレクションからすべてのドキュメントを表示する-

> db.demo439.find();

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

{ "_id" : ObjectId("5e77833abbc41e36cc3caeab"), "Name" : "Chris", "MarksInformation" : { "Marks1" : 67, "Marks2" : 45, "Marks3" : 78 } }
{ "_id" : ObjectId("5e77833abbc41e36cc3caeac"), "Name" : "David", "MarksInformation" : { "Marks1" : 50, "Marks2" : 57, "Marks3" : 68 } }
{ "_id" : ObjectId("5e77833bbbc41e36cc3caead"), "Name" : "Bob", "MarksInformation" : { "Score1" : 65, "Score2" : 71 } }

以下は、プロジェクトフィールドへのクエリです-

> db.demo439.aggregate({
...    $project: {
...       "Name" : 1,
...       "Marks1": { $cond: [ { $eq:[ { $ifNull: [ "$MarksInformation.Marks1", 0 ] }, 0 ] },{ $ifNull: [ "$MarksInformation.Score1", 0 ] }, "$MarksInformation.Marks1" ] },
...       "Marks2": { $cond: [ { $eq:[ { $ifNull: [ "$MarksInformation.Marks2", 0 ] }, 0 ] }, { $ifNull: [ "$MarksInformation.Score2", 0 ] }, "$MarksInformation.Marks2" ] },
...    "Marks3": { $cond: [ { $eq:[ { $ifNull: [ "$MarksInformation.Marks3", 0] }, 0 ] }, { $ifNull: [ "$MarksInformation.Score3", 0 ] }, "$MarksInformation.Marks3" ] }
... }})

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

{ "_id" : ObjectId("5e77833abbc41e36cc3caeab"), "Name" : "Chris", "Marks1" : 67, "Marks2" : 45, "Marks3" : 78 }
{ "_id" : ObjectId("5e77833abbc41e36cc3caeac"), "Name" : "David", "Marks1" : 50, "Marks2" : 57, "Marks3" : 68 }
{ "_id" : ObjectId("5e77833bbbc41e36cc3caead"), "Name" : "Bob", "Marks1" : 65, "Marks2" : 71, "Marks3" : 0 }

  1. MongoDBの特定のフィールドで検索

    まず、ドキュメントを使用してコレクションを作成しましょう- > db.demo371.insertOne({"Name":"David","CountryName":"US"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e57f6982ae06a1609a00af2") } > db.demo371.insertOne({&quo

  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