2016-08-02 92 views
1

我想在Node.js上分頁,但貓鼬與貓鼬paginate不適用於類似的表達式。我發現Mongoose.js: Find user by username LIKE value,但結果總是空的。像貓鼬paigeate過濾器

我的實體包含'目標'字段。在Entity.target中有一些具有「測試」的實體。我的代碼是:

var filter = {}; 
    if (req.param('filter')) { 
     filter = { 
      target: new RegExp('^'+'test'+'$', "i") 
     } 
    } 

    var params = { 
     page: getPage(req), 
     limit: getCount(req) 
    }; 


    Entity.paginate(filter, params, function (err, result) {    
     res.json(result); 
    }); 

如果我運行控制檯蒙哥查詢,我得到正確的結果:

{"target":{"$regex":"te","$options":"gi"}} 

你有一些想法?

回答

1

試着改變你的過濾器查詢

var filter = { "target": {} }; 
if (req.param('filter')) { 
    filter["target"]["$regex"] = new RegExp(req.param('filter'), "i");  
} else { 
    filter = { }; 
}