programing

mongoose/mongodb 쿼리 다중 정렬

elecom 2023. 6. 27. 21:42
반응형

mongoose/mongodb 쿼리 다중 정렬

저는 몽고드브가 꽤 생소합니다.저는 단 하나의 매개 변수를 기반으로 한 간단한 정렬에 대한 기본적인 아이디어를 얻을 수 있습니다.세 개 이상의 정렬 매개 변수가 있으면 어떻게 합니까?예를 들어, 속성을 가진 목공 프로젝트로 구성된 데이터베이스에서.totalCuttingTime그리고.favorited.

다음은 다음과 같은 mongoose/mongodb 함수를 사용하여 프로젝트 목록을 찾을 수 있습니까?least총 절단 시간 및 다음에 따른 주문highestfavorite 카운트를 가장 낮게 설정합니다.

var ProjectModel= mongoose.model('Project', schema);

exports.getMinCuttingTime = function(number, callback){ 
    var leastCutTimeResult = ProjectModel.find().sort({totalCuttingTime: 1}).select({_id: 1}).limit(number).exec(
            function(err, projects) {
                callback(null, projects)
            }
        );

    var result = leastCutTimeResult.find().sort({favoriteCount: -1}).select({_id: 1}).limit(number).exec(
            function(err, projects) {
                callback(null, projects)
            }
        ); 

    return result;
}

둘 다 넣어야 합니다.sort항을 하나의 개체로 변환:

exports.getMinCuttingTime = function(number, callback){ 
    ProjectModel.find()
        .sort({totalCuttingTime: 1, favoriteCount: -1})
        .select({_id: 1})
        .limit(number)
        .exec(
            function(err, projects) {
                callback(null, projects)
            }
        );
};

Node.js의 기반이 되는 ECMA-262 표준은 객체의 속성 순서가 유지됨을 명시하지 않으며 삽입 순서와 일치하는 사실상의 표준일 뿐입니다.의심스러운 부분을 제거하기 위해 어레이를 대신 사용할 수 있습니다.

.sort([['totalCuttingTime', 1], ['favoriteCount', -1]])

언급URL : https://stackoverflow.com/questions/13567953/mongoose-mongodb-query-multiple-sort

반응형