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

値をフェッチするためのMongoDBの配列インデックスまたはインデックス内部アイテム


最初に、ドキュメントを含むコレクションを作成し、ensureIndex()を使用してインデックスを作成しましょう-

> db.demo323.insertOne({"details":{"Name":"Chris","Age":34}});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e51157af8647eb59e56206e")
}
> db.demo323.insertOne({"details":{"Name":"David","Age":31}});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e511581f8647eb59e56206f")
}
> db.demo323.insertOne({"details":{"Name":"Bob","Age":28}});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e511589f8647eb59e562070")
}
> db.demo323.ensureIndex({"details.Name":1});
{
   "createdCollectionAutomatically" : false,
   "numIndexesBefore" : 2,
   "numIndexesAfter" : 3,
   "ok" : 1
}

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

> db.demo323.find();

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

{ "_id" : ObjectId("5e51157af8647eb59e56206e"), "details" : { "Name" : "Chris", "Age" : 34 } }
{ "_id" : ObjectId("5e511581f8647eb59e56206f"), "details" : { "Name" : "David", "Age" : 31 } }
{ "_id" : ObjectId("5e511589f8647eb59e562070"), "details" : { "Name" : "Bob", "Age" : 28 } }

以下は、配列から値を見つけるためのクエリです-

> db.demo323.find({"details.Name":"Bob"});

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

{ "_id" : ObjectId("5e511589f8647eb59e562070"), "details" : { "Name" : "Bob", "Age" : 28 } }

  1. MongoDBのJSON配列の内部要素にアクセスしますか?

    MongoDBのJSON配列の内部要素にアクセスするには、ドット表記を使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo687.insert({CountryName:'US', ... info: ... { ... id:101, ... details: ... [ ... { ...    Name:'Chris', ...    SubjectName:'MongoDB', ...    otherDetails:{ ...  

  2. MongoDBで配列をクエリして、特定の値をフェッチします

    配列から特定の値をフェッチするには、$ projectとともにaggregate()を使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo761.insertOne( ...    { ...       "details": [ ...          { ...             "student": { ...     &nb