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" ] } ] }