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

フィールドの値が配列であるドキュメントから名前の特定のリストを取得するためのMongoDBクエリ


これには、$allを使用します。 $ all演算子は、フィールドの値が指定されたすべての要素を含む配列であるドキュメントを選択します。ドキュメントを使用してコレクションを作成しましょう-

> db.demo642.insertOne(
...    {
...       _id:1,
...       ListOfNames:["Robert","John"]
...    }
... );
{ "acknowledged" : true, "insertedId" : 1 }
> db.demo642.insertOne( { _id:2, ListOfNames:["Robert","Chris"] } );
{ "acknowledged" : true, "insertedId" : 2 }

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

> db.demo642.find();

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

{ "_id" : 1, "ListOfNames" : [ "Robert", "John" ] }
{ "_id" : 2, "ListOfNames" : [ "Robert", "Chris" ] }

以下は、フィールドの値が配列であるドキュメントから名前の特定のリストを取得するためのクエリです-

> db.demo642.find({ListOfNames: {
...    $all: [ "Chris", "Robert" ]
... }})

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

{ "_id" : 2, "ListOfNames" : [ "Robert", "Chris" ] }

  1. MongoDBドキュメントの特定のフィールドから配列要素の数を取得しますか?

    特定のフィールドから配列要素をカウントするには、MongoDBで$sizeを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo723.insertOne({"Subject":["MySQL","MongoDB"]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5eab094d43417811278f588a") } >

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

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