예, 개체 배열을 검색하려면 MongoDB 집계()에서 $unwind를 사용합니다. 일치시키려면 $match를 사용하십시오. 문서로 컬렉션을 만들자 −
> db.demo623.insertOne( ... { ... _id:1, ... details:[ ... { ... Name:"Chris" ... }, ... { ... DueDate:new ISODate("2020-01-10") ... }, ... { ... CountryName:"US" ... } ... ] ... } ... ); { "acknowledged" : true, "insertedId" : 1 }
find() 메서드를 사용하여 컬렉션의 모든 문서 표시 -
> db.demo623.find().pretty();
이것은 다음과 같은 출력을 생성합니다 -
{ "_id" : 1, "details" : [ { "Name" : "Chris" }, { "DueDate" : ISODate("2020-01-10T00:00:00Z") }, { "CountryName" : "US" } ] }
다음은 MongoDB에서 객체 배열을 검색하는 쿼리입니다 -
> db.demo623.aggregate({$unwind: "$details"}, ... {$match: {"details.Name":"Chris"}}, ... {$project: {"details.Name": 1}})
이것은 다음과 같은 출력을 생성합니다 -
{ "_id" : 1, "details" : { "Name" : "Chris" } }