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

MongoDB에서 문자열 비교를 구현하시겠습니까?

<시간/>

MongoDB에서 문자열 비교를 구현하려면 $strcasecmp를 사용하십시오. 두 문자열의 대소문자를 구분하지 않는 비교를 수행합니다. 그것은 반환 -

  • 첫 번째 문자열이 두 번째 문자열보다 "초과"이면 1입니다.

  • 두 문자열이 같으면 0입니다.

  • 첫 번째 문자열이 두 번째 문자열보다 "작은" 경우 -1입니다.

문서로 컬렉션을 만들자 −

> db.demo490.insertOne({"Name1":"John","Name2":"john"});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e8496ccb0f3fa88e22790bb")
}
> db.demo490.insertOne({"Name1":"David","Name2":"Bob"});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e8496d9b0f3fa88e22790bc")
}
> db.demo490.insertOne({"Name1":"Carol","Name2":"Carol"});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e8496e5b0f3fa88e22790bd")
}

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

> db.demo490.find();

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

{ "_id" : ObjectId("5e8496ccb0f3fa88e22790bb"), "Name1" : "John", "Name2" : "john" }
{ "_id" : ObjectId("5e8496d9b0f3fa88e22790bc"), "Name1" : "David", "Name2" : "Bob" }
{ "_id" : ObjectId("5e8496e5b0f3fa88e22790bd"), "Name1" : "Carol", "Name2" : "Carol" }

다음은 MongoDB에서 문자열 비교를 구현하는 쿼리입니다 -

> db.demo490.aggregate(
... [
...    {
...       $project:
...       {
...          Name1: 1,
...          Name2: 1,
...          Result: { $strcasecmp: [ "$Name1", "$Name2" ] }
...       }
...    }
... ]
... )

그러면 다음과 같은 결과가 출력됩니다. -

{ "_id" : ObjectId("5e8496ccb0f3fa88e22790bb"), "Name1" : "John", "Name2" : "john", "Result"
: 0 }
{ "_id" : ObjectId("5e8496d9b0f3fa88e22790bc"), "Name1" : "David", "Name2" : "Bob",
"Result" : 1 }
{ "_id" : ObjectId("5e8496e5b0f3fa88e22790bd"), "Name1" : "Carol", "Name2" : "Carol",
"Result" : 0 }