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

findOneAndUpdate()를 사용하여 MongoDB에서 업데이트하시겠습니까?


findOneAndUpdate()는 필터 및 정렬 기준, 즉 -

에 따라 단일 문서를 업데이트하는 데 사용됩니다.
db.collection.findOneAndUpdate(filter, update, options)

문서로 컬렉션을 만들자 −

> db.demo328.insertOne({Name:"Chris",Marks:67});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e516b19f8647eb59e56207a")
}
> db.demo328.insertOne({Name:"David",Marks:78});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e516b24f8647eb59e56207b")
}
> db.demo328.insertOne({Name:"Bob",Marks:97});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e516b2bf8647eb59e56207c")
}

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

> db.demo328.find();

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

{ "_id" : ObjectId("5e516b19f8647eb59e56207a"), "Name" : "Chris", "Marks" : 67 }
{ "_id" : ObjectId("5e516b24f8647eb59e56207b"), "Name" : "David", "Marks" : 78 }
{ "_id" : ObjectId("5e516b2bf8647eb59e56207c"), "Name" : "Bob", "Marks" : 97 }

다음은 findOneAndUpdate()로 업데이트하는 쿼리입니다. 여기에서 우리는 특정 문서의 필드 Marks를 증가시키고 있습니다 -

> db.demo328.findOneAndUpdate({Name:"David"},{ $inc: { "Marks" : 10} });
{
   "_id" : ObjectId("5e516b24f8647eb59e56207b"),
   "Name" : "David",
   "Marks" : 78
}

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

> db.demo328.find();

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

{ "_id" : ObjectId("5e516b19f8647eb59e56207a"), "Name" : "Chris", "Marks" : 67 }
{ "_id" : ObjectId("5e516b24f8647eb59e56207b"), "Name" : "David", "Marks" : 88 }
{ "_id" : ObjectId("5e516b2bf8647eb59e56207c"), "Name" : "Bob", "Marks" : 97 }