Условный запрос mongo db после заполнения не возвращает данные - PullRequest
0 голосов
/ 30 ноября 2018

Я новичок в монго и нодах и столкнулся с проблемой фильтрации.

У меня есть схема клиента и схема кошелька.Когда я добавляю нового клиента, он заполняет кошелек для этого клиента.Схема этих двух моделей приведена ниже.

Customer.model.js

var Schema = mongoose.Schema;
    const Genders = Object.freeze({
        Male: 'male',
        Female: 'female',
        Other: 'other',
    });


var CustomerSchema = new Schema({
        reg_date: { type: Date, default: Date.now },
        first_name: String,
        last_name: String,
        gender: {
            type: String,
            enum: Object.values(Genders),
        },
        wallet_balance: { type: Number, default: 0 },
        status:{type:Boolean,default:true},
        wallet:{type:mongoose.Schema.Types.ObjectId,ref:'Wallet'},
        customer_rank: String
});
module.exports = mongoose.model('Customer', CustomerSchema);

Wallet.model.js

var Schema = mongoose.Schema;
var TransactionSchema = new Schema({
    reason: String,
    deposit_by: Number,
    transaction_type: String,
    transacted_balnace:Number
})
var WalletSchema = new Schema({
    user_id:String,
    transaction_log: [TransactionSchema],
    balance: { type: Number, default: 0 },
    created_at: { type: Date, default: Date.now },
    updated_at: { type: Date, default: Date.now }
});
WalletSchema.plugin(uniqueValidator);
module.exports = mongoose.model('Wallet', WalletSchema);

Я хочу получить информацию о клиенте на основании причины.Итак, код ниже.

CustomerModel.find({}, { "password": 0 }).populate({
        path: 'wallet',
        match: { reason: { $in: [ "service charge" ] } },
        select: 'transaction_log'
    }).exec().then(data => {
        if (data) {
            res.status(200).send({ status: true, data: data })
        }
        else {
            res.send({ status: false, data: [] })
        }

    })

Он не возвращает кошелек, но если я удаляю свойство match, он работает нормально. Будет очень полезно, если я получурешение.Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...