복붙노트

[MONGODB] 대소 문자를 구분 방식과 MongoDB를 정렬

MONGODB

대소 문자를 구분 방식과 MongoDB를 정렬

나는 구조체 데이터베이스와 MongoDB를 가진 nodejs (표현)에서 하나 개의 프로젝트에 열심히입니다. 내가 종류 사용하여 모든 데이터를 얻을 때 () 잘못 방식으로 데이터를 반환, 그래서 아래로 기대하고 그것을 제대로 형식을 얻을 수있는이 방법은 : 우리는 DB에서 세 가지 기록이있는 경우 :

---------------------
id  | Name |  aga
---------------------
1   | atul | 21
---------------------
2   | Bhavik | 22
---------------------
3   | Jay | 25

내가 현재 무엇입니까 것은 :

2,3,1 시리즈 데이터

내가 뭘 기대하는 것은 올 것입니다 : 1,2,3

이 분류 수단은 새로운 열의 추가없이 가능하지만 경우를 무시하는 것이다.

해결법

  1. ==============================

    1.당신은 로케일 여기 정렬을 사용합니다 : "엉"

    당신은 로케일 여기 정렬을 사용합니다 : "엉"

    db.collection.find({}).collation({ locale: "en" }).sort({ name: 1 })
    

    아래의 문서에 대한 그래서

    { "_id" : 1, "name" : "Bhavik" }
    { "_id" : 2, "name" : "Jay" }
    { "_id" : 3, "name" : "atul" }
    

    당신은 얻을 것이다

    { "_id" : 3, "name" : "atul" }
    { "_id" : 1, "name" : "Bhavik" }
    { "_id" : 2, "name" : "Jay" }
    
  2. ==============================

    2.당신은 정렬을 전달할 수 있습니다 {로케일 : 'EN'을} 직접 찾기 방법의 옵션 매개 변수 :

    당신은 정렬을 전달할 수 있습니다 {로케일 : 'EN'을} 직접 찾기 방법의 옵션 매개 변수 :

    db.collection.find({ ...query }, {
      sort: ...,
      limit: ...,
      collation: { locale: 'en' }
    }
    
  3. ==============================

    3.당신이 경우를 구분와 프로퍼티에 의해 주문할 수 있습니다이 방법에 의한 기본 데이터 정렬로 컬렉션을 만듭니다.

    당신이 경우를 구분와 프로퍼티에 의해 주문할 수 있습니다이 방법에 의한 기본 데이터 정렬로 컬렉션을 만듭니다.

    db.createCollection ( "COLLECTION_NAME", {정렬 : {로케일 : 'ko 페이지', 힘 : 2}})

    db.getCollection ( 'COLLECTION_NAME') 찾기 ({}) 종류 ({ 'PROPERTY_NAME': -1})..

    추가 정보 : https://docs.mongodb.com/manual/core/index-case-insensitive/

  4. from https://stackoverflow.com/questions/52015712/mongodb-sort-with-case-insensitive-manner by cc-by-sa and MIT license