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

다중 필드가 TRUE로 설정된 배열에 값을 푸시하시겠습니까?

<시간/>

값을 푸시하려면 multi 필드가 TRUE로 설정된 update()와 함께 $push를 사용하십시오. 문서로 컬렉션을 만들자 −

> db.demo747.insertOne({"CountryName":["US","IND"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5eae6a50a930c785c834e55f")
}
> db.demo747.insertOne({"CountryName":["UK","US"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5eae6a57a930c785c834e560")
}
> db.demo747.insertOne({"CountryName":["UK","IND"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5eae6a60a930c785c834e561")
}

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

> db.demo747.find();

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

{ "_id" : ObjectId("5eae6a50a930c785c834e55f"), "CountryName" : [ "US", "IND" ] }
{ "_id" : ObjectId("5eae6a57a930c785c834e560"), "CountryName" : [ "UK", "US" ] }
{ "_id" : ObjectId("5eae6a60a930c785c834e561"), "CountryName" : [ "UK", "IND" ] }

다음은 update() −

에서 $push를 구현하는 올바른 쿼리입니다.
> db.demo747.update({},{$push:{CountryName:"AUS"}},{multi:true});
WriteResult({ "nMatched" : 3, "nUpserted" : 0, "nModified" : 3 })

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

> db.demo747.find();

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

{ "_id" : ObjectId("5eae6a50a930c785c834e55f"), "CountryName" : [ "US", "IND", "AUS" ] }
{ "_id" : ObjectId("5eae6a57a930c785c834e560"), "CountryName" : [ "UK", "US", "AUS" ] }
{ "_id" : ObjectId("5eae6a60a930c785c834e561"), "CountryName" : [ "UK", "IND", "AUS" ] }