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

MongoDBからフィールドのサブセットを取得する


フィールドのサブセットを再試行するには、find()でドット表記を使用します。ドキュメントを使用してコレクションを作成しましょう-

> db.demo307.insertOne({
...   "CleintId":101,
...   "ClientDetails":{"ClientFirstName":"Chris","Age":34},
...   "ClientCountryName":"US"
...}
...);
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e4eab88f8647eb59e56203c")
}
> db.demo307.insertOne({
...   "CleintId":102,
...   "ClientDetails":{"ClientFirstName":"David","Age":31},
...   "ClientCountryName":"UK"
...}
...);
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e4eab97f8647eb59e56203d")
}

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

>  db.demo307.find();

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

{ "_id" : ObjectId("5e4eab88f8647eb59e56203c"), "CleintId" : 101, "ClientDetails" : { "ClientFirstName" : "Chris", "Age" : 34 }, "ClientCountryName" : "US" }
{ "_id" : ObjectId("5e4eab97f8647eb59e56203d"), "CleintId" : 102, "ClientDetails" : { "ClientFirstName" : "David", "Age" : 31 }, "ClientCountryName" : "UK" }

以下は、MongoDBからフィールドのサブセットを取得するためのクエリです-

> db.demo307.find( {"ClientDetails.ClientFirstName":'David'}, {"ClientDetails.Age" : 0,"ClientCountryName":0,CleintId:0,_id:0});
>

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

{ "ClientDetails" : { "ClientFirstName" : "David" } }

  1. MongoDBから2つのアレイをアンワインドします

    巻き戻すには、$unwindを使用します。 $ unwindは、入力ドキュメントから配列フィールドを分解して、各要素のドキュメントを出力します。 ドキュメントを使用してコレクションを作成しましょう- > db.demo515.insertOne( ... { ...    "details1": [ ...       "4700100004" ...    ], ...    "details2": [ ...    

  2. MongoDBの条件に一致する複数のサブドキュメントからフィールドを取得しますか?

    複数のサブドキュメントからフィールドを取得するには、$unwindでMongoDB集計を使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo671.insertOne( ... { ... ...    "details" : [ ...    { ...       "id" : "1" ...    }, ...    { ...       Countr