Как использовать .where (). Equal () после populate () в мангусте? - PullRequest
0 голосов
/ 25 апреля 2018

Это две мои модели:

var OfferSchema = mongoose.Schema({
    title: {
        type : String
    },
    commerce: {
        type : mongoose.Schema.Types.ObjectId,
        ref : 'Commerce'
    }
});

Предложение содержит коммерцию:

var CommerceSchema = mongoose.Schema({
    name: {
        type: String
    }
});

Тогда я просто хочу получить все предложения, имеющие коммерцию под названием "Стрижка", например, поэтому я прошу:

module.exports.getOffresByName = function(req,callback){
    var name= req;
    Offre.find()
        .populate('commerce')
        .where('commerce.name').equals('Haircut')
        .exec(callback);
}

И я ничего от этого не получаю .. (И я знаю, что у меня есть коммерческое предложение под названием «Стрижка», поэтому проблема в моем запросе)

Можете ли вы помочь мне, пожалуйста? : D

1 Ответ

0 голосов
/ 26 апреля 2018

В конце концов, мне повезло, я пошел другим путем!

module.exports.getOffresByName = function(req,callback){
        var name= req;
        var result = [];
        Offre.find()
        .populate('commerce') 
        .exec(function(err, offer){
            if(err) return err;
            var cmp= 0;
            for(var i= 0; i<offer.length; i++){
                if( offer[i].commerce.name== name){
                    result[cmp]= offer[i];
                    cmp++;
                }
            }
            callback(err, result);
        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...