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

배열 필드 값을 MongoDB로 바꾸시겠습니까?

<시간/>

위치 연산자 $를 사용할 수 있습니다. 먼저 문서로 컬렉션을 만들어 보겠습니다. −

> db.replaceAnArrayFieldValueDemo.insertOne({"StudentTechnicalSubjects":["MySQL","SQL Server","PL/SQL"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cea41e0ef71edecf6a1f68f")
}

다음은 find() 메서드를 사용하여 컬렉션의 모든 문서를 표시하는 쿼리입니다. -

> db.replaceAnArrayFieldValueDemo.find().pretty();

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

{
   "_id" : ObjectId("5cea41e0ef71edecf6a1f68f"),
   "StudentTechnicalSubjects" : [
      "MySQL",
      "SQL Server",
      "PL/SQL"
   ]
}

다음은 배열 필드 값을 대체하는 쿼리입니다. 여기에서 "MongoDB"로 "SQL Server"를 업데이트하고 있습니다 -

> db.replaceAnArrayFieldValueDemo.update(
   {"StudentTechnicalSubjects":"SQL Server"},
   { $set: { 'StudentTechnicalSubjects.$': "MongoDB" }}
);
WriteResult({ "nMatched" : 0, "nUpserted" : 0, "nModified" : 0 })

문서를 다시 한 번 확인합시다 -

> db.replaceAnArrayFieldValueDemo.find().pretty();

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

{
   "_id" : ObjectId("5cea41e0ef71edecf6a1f68f"),
   "StudentTechnicalSubjects" : [
      "MySQL",
      "MongoDB",
      "PL/SQL"
   ]
}