在嵌套集合全文搜索mongodb中匹配对象名称

在嵌套集合全文搜索mongodb中匹配对象名称,mongodb,mongodb-java,Mongodb,Mongodb Java,我们在mongo db集合中有一个嵌套对象,例如profile对象有地址和联系人数据数组 { "_id" : "f714af57-b4bd-4c1d-b09c-88f71a446262", "_class" : "com.vaap.dataobject.profilemanagement.CompanyTypeProfile", "companyCode" : "IBM", "companyShortName" : "IBM", "companyTitle" : "IBM", "companyN

我们在mongo db集合中有一个嵌套对象,例如profile对象有地址和联系人数据数组

{
"_id" : "f714af57-b4bd-4c1d-b09c-88f71a446262",
"_class" : "com.vaap.dataobject.profilemanagement.CompanyTypeProfile",
"companyCode" : "IBM",
"companyShortName" : "IBM",
"companyTitle" : "IBM",
"companyName" : "IBM",
"companyDescription" : "IBM",
"parentCompanyId" : "",
"companyOwnerName" : "",
"companyPhoneNo" : "",
"companyEmail" : "",
"companyFaxNo" : "",
"companyWebsite" : "",
"companyTotalEmployees" : "",
"companyAnnualRevenue" : "",
"totalPayPeriods" : "",
"payPeriodStartDate" : "",
"companyCreditLimit" : "",
"companyCurrencyId" : "",
"addressData" : [ 
    {
        "_id" : "b418982e-4b7a-43c0-aeb6-1ed43ec12f9a",
        "addressTypeId" : "efa5d767-41cf-4fa6-b252-70f4113370ea",
        "addressTypeName" : "Business",
        "addressName" : "IBM, Tysons",
        "addressLine1" : "123 Main Street",
        "addressLine2" : "",
        "countryName" : "United States of America",
        "countryId" : "b7520372-6dd7-4d76-94a8-4a5eeee26408",
        "stateName" : "Virginia",
        "stateId" : "2b155b92-c2f5-44a3-90aa-c188eed38c13",
        "cityName" : "Fairfax",
        "cityId" : "ed8ae0f4-eff6-46fc-a214-89b3451407bd",
        "countyName" : "",
        "countyId" : "",
        "zipCode" : "20152",
        "zipPlusCode" : "",
        "ruralCode" : "",
        "duration" : "10"
    }
],
"contactsData" : [ 
    {
        "_id" : "c9389dbd-1b65-4c1a-a9a5-a3c33d89e3b6",
        "contactTypeName" : "Business",
        "contactTypeId" : "423571d5-5a3a-4f56-9aed-dbb1cef3d9ad",
        "prefix" : "Mr.",
        "firstName" : "Ravi",
        "middleName" : "V",
        "lastName" : "Pulipaka",
        "nickName" : "Ravi",
        "title" : "CEO",
        "priorName" : "Ravi",
        "primaryContactMethodId" : "ae69fea8-1d54-4b98-813b-0313b7571802",
        "primaryContactMethodName" : "Phone",
        "primaryPhone" : "703-777-7777",
        "primaryEmail" : "",
        "primaryFaxNo" : "",
        "secondaryFaxNo" : "",
        "secondaryPhone" : "",
        "businessPhone" : "",
        "homePhone" : "",
        "personalPhone" : "",
        "spousePhone" : "",
        "vacationPhone" : "",
        "secondaryEmail" : "",
        "businessEmail" : "",
        "homeEmail" : "",
        "personalEmail" : "",
        "spouseEmail" : "",
        "alternateEmail" : "",
        "vacationEmail" : "",
        "addressLine1" : "",
        "addressLine2" : "",
        "countryName" : "",
        "countryId" : "",
        "stateName" : "",
        "stateId" : "",
        "cityName" : "",
        "cityId" : "",
        "countyName" : "",
        "countyId" : "",
        "zipCode" : "",
        "zipPlusCode" : "",
        "ruralCode" : ""
    }
],
"projectsData" : [],
"recCreBy" : "Rakesh Kumar Goyal",
"recCreDate" : "03-Mar-2014",
"aspectSource" : "AE",
"aspectType" : "Customer",
"clientId" : "VAAP-CLIENT-1"
}

我们可以使用mongo db全文搜索来搜索配置文件集合。但是返回结果没有任何关于返回记录与集合中的哪个字段完全匹配的信息。是否有任何方法可以让我知道匹配字段或匹配嵌套对象(主配置文件或联系人数据或地址数据)


我正在搜索“Ravi”,想知道“Ravi”在addressData、contactsData或profile数据本身中是否匹配。

你会用示例JSON更新你的问题吗?用示例JSON更新。你正在尝试一些代码来获取你感兴趣的数据吗?