복붙노트

[MONGODB] 옵션 검색 쿼리 매개 변수를 몽구스?

MONGODB

옵션 검색 쿼리 매개 변수를 몽구스?

나는 다음과 같은 경우가 있습니다. 내가있는 경우 특정 인수를 기반으로, 몽구스의 쿼리를 작성해야합니다.

즉 이 같은 개체가 전달되는 경우

{
    player: "nickname",
    action: "capture"
}

다음 검색이 수행됩니다

Entry.find({
    player: obj.player,
    action: obj.action
}).
    exec(function(err, res){
        console.log(res);
    });

행동이 객체가 아닌 경우 내가 검색에서 "조치"를 제외해야하는 경우 어떻게해야합니까? (obj.action) : 행동 같은 삼항 연산자를 사용하십니까? obj.action : 조치가 null이 어디 DB의 항목을 검색하는 것처럼 널 (null)이 아닌 작업을 수행합니다.

해결법

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

    1.프로그램 쿼리 객체를 구축 :

    프로그램 쿼리 객체를 구축 :

    var query = {
        player: 'player'
    };
    
    if (obj.action) {
        query.action = obj.action;
    }
    
    Entry.find(query).exec(function(err, res){
        console.log(res);
    });
    
  2. ==============================

    2.경우 누군가가 같은 질문을 발견 나는 그것을 해결하는 방법, 여기 :

    경우 누군가가 같은 질문을 발견 나는 그것을 해결하는 방법, 여기 :

    var query = {
        player: 'player'
    };
    
    Entry.find({
        player: query.player,
        action: (query.action) ? query.action:/.*/
    }).
        exec(function(err, res){
            console.log(res);
        });
    
  3. from https://stackoverflow.com/questions/31995166/mongoose-optional-search-query-parameters by cc-by-sa and MIT license