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

이미 생성된 문서에 새 필드를 만들고 싶습니다. MongoDB 쿼리를 사용하여 이 작업을 수행하려면 어떻게 해야 합니까?

<시간/>

$addToSet을 사용하여 MongoDB에 새 필드를 만듭니다. 먼저 문서로 컬렉션을 생성해 보겠습니다. −

> db.createFieldDemo.insertOne({"StudentFirstName":"John","StudentAge":21});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd99e28b50a6c6dd317ad95")
}
> db.createFieldDemo.insertOne({"StudentFirstName":"Larry","StudentAge":23});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd99e2fb50a6c6dd317ad96")
}
> db.createFieldDemo.insertOne({"StudentFirstName":"Chris","StudentAge":22});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd99e38b50a6c6dd317ad97")
}
> db.createFieldDemo.insertOne({"StudentFirstName":"David","StudentAge":25});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd99e43b50a6c6dd317ad98")
}

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

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

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

{
   "_id" : ObjectId("5cd99e28b50a6c6dd317ad95"),
   "StudentFirstName" : "John",
   "StudentAge" : 21
}
{
   "_id" : ObjectId("5cd99e2fb50a6c6dd317ad96"),
   "StudentFirstName" : "Larry",
   "StudentAge" : 23
}
{
   "_id" : ObjectId("5cd99e38b50a6c6dd317ad97"),
   "StudentFirstName" : "Chris",
   "StudentAge" : 22
}
{
   "_id" : ObjectId("5cd99e43b50a6c6dd317ad98"),
   "StudentFirstName" : "David",
   "StudentAge" : 25
}

다음은 새 필드를 생성하는 쿼리입니다. 여기에서 "StudentLastName" 필드를 생성합니다 -

> db.createFieldDemo.update({_id: ObjectId("5cd99e43b50a6c6dd317ad98")}, {$addToSet: {"StudentLastName": "Miller"}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

위 컬렉션의 모든 문서를 확인합시다 -

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

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

{
   "_id" : ObjectId("5cd99e28b50a6c6dd317ad95"),
   "StudentFirstName" : "John",
   "StudentAge" : 21
}
{
   "_id" : ObjectId("5cd99e2fb50a6c6dd317ad96"),
   "StudentFirstName" : "Larry",
   "StudentAge" : 23
}
{
   "_id" : ObjectId("5cd99e38b50a6c6dd317ad97"),
   "StudentFirstName" : "Chris",
   "StudentAge" : 22
}
{
   "_id" : ObjectId("5cd99e43b50a6c6dd317ad98"),
   "StudentFirstName" : "David",
   "StudentAge" : 25,
   "StudentLastName" : [
      "Miller"
   ]
}