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

ネストされた文字列の配列を取得するMongoDBクエリ?


MongoDBでネストされた文字列の配列を取得するには、find()でドット表記を使用します。ドキュメントを使用してコレクションを作成しましょう-

> db.demo89.insertOne(
... { id: 101, Details: [ { Name: "Chris", Marks: 45 }, { Name: "David", Marks: 55, Subjects : ["MySQL", "MongoDB", "Java", "C"] } ]
... }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e2c163b79799acab037af51")
}
> db.demo89.insertOne(
... { id: 102, Details: [ { Name: "Mike", Marks: 48 }, { Name: "Bob", Marks: 98, Subjects : ["C++", "MySQL"] } ]
... }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e2c163c79799acab037af52")
}

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

> db.demo89.find();

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

{ "_id" : ObjectId("5e2c163b79799acab037af51"), "id" : 101, "Details" : [ { "Name" : "Chris", "Marks" : 45 }, { "Name" : "David", "Marks" : 55, "Subjects" : [ "MySQL", "MongoDB", "Java", "C" ] } ] }
{ "_id" : ObjectId("5e2c163c79799acab037af52"), "id" : 102, "Details" : [ { "Name" : "Mike", "Marks" : 48 }, { "Name" : "Bob", "Marks" : 98, "Subjects" : [ "C++", "MySQL" ] } ] }

以下は、ネストされた文字列の配列を取得するためのクエリです-

> db.demo89.find({ "Details.Subjects": "MongoDB"});

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

{ "_id" : ObjectId("5e2c163b79799acab037af51"), "id" : 101, "Details" : [ { "Name" : "Chris", "Marks" : 45 }, { "Name" : "David", "Marks" : 55, "Subjects" : [ "MySQL", "MongoDB", "Java", "C" ] } ] }

  1. 配列要素の集計で平均を取得するMongoDBクエリ?

    配列要素の平均を取得するには、$avgを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo584.insertOne({"Marks":[75,50,85,60,80]});{    "acknowledged" : true,    "insertedId" : ObjectId("5e91d827fd2d90c177b5bcc2") } find()メソッドを使用してコレクションからすべてのドキュメントを表示する- > db

  2. ネストされたドキュメントを更新するためのMongoDBクエリ

    ドキュメントを使用してコレクションを作成しましょう- > db.demo595.insertOne( { "Information": [    { "_id": new ObjectId(), Name:"Chris" },    { _id:new ObjectId(), Name:"Robert" } ] } ); {    "acknowledged" : true,    "inserted