Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何根据MongoDB中where条件下引用的文档详细信息获取父文档详细信息?_Mongodb_Mongoose - Fatal编程技术网

如何根据MongoDB中where条件下引用的文档详细信息获取父文档详细信息?

如何根据MongoDB中where条件下引用的文档详细信息获取父文档详细信息?,mongodb,mongoose,Mongodb,Mongoose,我有两份文件如下 const ClaimDetailsSchema = mongoose.Schema({ _id: mongoose.Schema.Types.ObjectId, benefitArea: String, gfo: String, productForm: String, type: String, status: String, claimTitle: String, claimId: String, c

我有两份文件如下

const ClaimDetailsSchema = mongoose.Schema({
    _id: mongoose.Schema.Types.ObjectId,
    benefitArea: String,
    gfo: String,
    productForm: String,
    type: String,
    status: String,
    claimTitle: String,
    claimId: String,
    claimName: String,
    exception: String,
    createdBy: String,
    createdByNtId: String,
    lastModifiedBy: String,
    claimType: {
        historyId: String,
        commentId: String,
        exportId: String,
        version: String,
        reason: String
    },
    Substantiations: [{ type: mongoose.Schema.Types.ObjectId, ref: 'Substantiations' }],
    Formulaes: [{ type: mongoose.Schema.Types.ObjectId, ref: 'Formulaes' }],
    regions: [String],
    favorites: [String],
    claimCreatedDate: { type: Date, default: Date.now },
    lastModifiedDate: { type: Date }
});

module.exports = mongoose.model('ClaimDetails', ClaimDetailsSchema);

const mongoose = require('mongoose'), Schema = mongoose.Schema;

const SubstantiationSchema = mongoose.Schema({
    _id: mongoose.Schema.Types.ObjectId,
    substantiation: String
});

module.exports = mongoose.model('Substantiations', SubstantiationSchema);
我需要根据where子句中的证实文本获取索赔详情

我试过下面的方法,但没有成功

exports.testCase = (req, res) => {
    Claimdetails.find().populate({ path: 'Substantiations', match: { substantiation: 'rel' } }).exec(function (err, claims) {
        res.send({ data: claims });
    });
};

如果不将
匹配
条件放在填充中,它是否有效。。。它是否获取填充的数据?是的。这很吸引人。但我需要基于证实细节的ClaimDetails文档。您可以发布这两个文档的样本收集吗?LaimDetails--------------------{“\u id:“5b45af28216c031f7009999a”,“证实”:[“5B4496F53131CB44A0CD9EAAA”,“5b449702331cb44a0cd9eaab”,“公式”:[“5B4496BB331CB44A0CD9EA8”,“5B4496DE331CB44A0CD9EA9”,“区域”:[“AP”,“NA”],“favorites:[“manjesh.m”,“rdevarap”],“benefitArea:“保湿”,“gfo:“美容”,“产品形式”:“胶囊,硬”,“claimTitle:“带有NodeJS的测试项目”,“claimId:“CLM201800014”,“u v:”0}防晒--------------------{“id:“5B4496F5313CB44A0CD9EAAA”,“证实”:“添加测试数据”,“uu v:”0}对于您发布的数据,
证实
匹配:{证实:添加的测试数据}
适用于我