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

MongoDB에서 두 필드 중 하나에서 작업을 수행하는 동안 어떻게 비교합니까?

<시간/>

두 필드를 비교하려면 MongoDB에서 $where를 사용하십시오. 먼저 문서로 컬렉션을 만들어 보겠습니다. −

> db.demo7.insertOne({"FirstName1":"JOHN","FirstName2":"John"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e0ccd1a25ddae1f53b6222f")
}
> db.demo7.insertOne({"FirstName1":"Carol","FirstName2":"Mike"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e0ccd2725ddae1f53b62230")
}
> db.demo7.insertOne({"FirstName1":"bob","FirstName2":"BOB"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e0ccd3225ddae1f53b62231")
}

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

> db.demo7.find();

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

{ "_id" : ObjectId("5e0ccd1a25ddae1f53b6222f"), "FirstName1" : "JOHN", "FirstName2" : "John" }
{ "_id" : ObjectId("5e0ccd2725ddae1f53b62230"), "FirstName1" : "Carol", "FirstName2" : "Mike" }
{ "_id" : ObjectId("5e0ccd3225ddae1f53b62231"), "FirstName1" : "bob", "FirstName2" : "BOB" }

다음은 두 필드 중 하나에서 작업을 수행하는 동안 두 필드를 비교하는 쿼리입니다. -

> db.demo7.find({$where: "this.FirstName1.toLowerCase() == this.FirstName2.toLowerCase()"});

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

{ "_id" : ObjectId("5e0ccd1a25ddae1f53b6222f"), "FirstName1" : "JOHN", "FirstName2" : "John" }
{ "_id" : ObjectId("5e0ccd3225ddae1f53b62231"), "FirstName1" : "bob", "FirstName2" : "BOB" }