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

配列の形式で特定のフィールド(電話番号)のみを返すMongoDBクエリ?


ドキュメントを使用してコレクションを作成しましょう-

> db.demo166.insertOne({"details" : { "UserName" : "Chris", "UserAge":29, "PhoneDetails" : { "PhoneNumber" : "98646463533" } } });
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e368b159e4f06af551997cf")
}
> db.demo166.insertOne({"details" : { "UserName" : "David", "UserAge":21, "PhoneDetails" : { "PhoneNumber" : "87664534654" } } });
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e368b159e4f06af551997d0")
}

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

> db.demo166.find();

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

{ "_id" : ObjectId("5e368b159e4f06af551997cf"), "details" : { "UserName" : "Chris", "UserAge" : 29, "PhoneDetails" : { "PhoneNumber" : "98646463533" } } }
{ "_id" : ObjectId("5e368b159e4f06af551997d0"), "details" : { "UserName" : "David", "UserAge" : 21, "PhoneDetails" : { "PhoneNumber" : "87664534654" } } }

以下は、配列の形式で特定のフィールド(電話番号)のみを返すクエリです-

> db.demo166.distinct("details.PhoneDetails.PhoneNumber");

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

[ "98646463533", "87664534654" ]

  1. 配列の1つの要素のみをスライスするMongoDBクエリ

    配列の1つの要素のみをスライスするには、MongoDBで$sliceを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo579.insertOne( ...    { ...       "_id" : 101, ...       "details" : { "FirstName" : "John" }, ...       "Marks" :

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

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