Computer >> 컴퓨터 >  >> 프로그램 작성 >> MongoDB

MongoDB의 객체 배열 내에 중첩된 문자열 배열 업데이트

<시간/>

문서로 컬렉션을 만들자 −

> db.demo411.aggregate(... [... {$project :{... _id :0,... Information :{$map :{input :"$Information", as :"out ", in :["$$out.Name1", "$$out.Name2"]}}... }... }... ]... ){ "정보" :[ [ "크리스", "David" ], [ "John", "John" ] }> db.demo412.insertOne(... {... "정보1" :[... {... "정보2" :[... "존",... "데이비드"... ]... },... {... "정보2" :[... "마이크"... ]... }... ]. .. }... );{ "승인됨" :true, "insertedId" :ObjectId("5e70f38b15dc524f70227683")}

find() 메서드를 사용하여 컬렉션의 모든 문서 표시 -

> db.demo412.find();

이것은 다음과 같은 출력을 생성합니다 -

{ "_id" :ObjectId("5e70f38b15dc524f70227683"), "Information1" :[ { "Information2" :[ "John", "David" ] }, { "Information2" :[ "Mike" ] } ] } 

다음은 MongoDB의 객체 배열 내에 중첩된 문자열 배열을 업데이트하는 쿼리입니다 -

> db.demo412.updateMany(... { _id:ObjectId("5e70f38b15dc524f70227683") },... { $pull :{'Information1.$[].Information2' :​​"마이크" } }... );{ "승인" :true, "matchedCount" :1, "modifiedCount" :1 }

find() 메서드를 사용하여 컬렉션의 모든 문서 표시 -

> db.demo412.find();

이것은 다음과 같은 출력을 생성합니다 -

{ "_id" :ObjectId("5e70f38b15dc524f70227683"), "Information1" :[ { "Information2" :[ "John", "David" ] }, { "Information2" :[ ] } ] }