ich ein Unter Dokument Dienste haben bevölkern in einer Sammlung nannte es serviceid und Typ enthält. serviceID bezieht sich auf zwei Sammlungen internen Service und externen Service variiert je nach Typ Feld.Ist es möglich, in Mungo zu haben Zustand
internalServices:[{
serviceID:ObjectId('0000000000000'),
serviceDesc:'sweeping'
},
{
serviceID:ObjectId('0000000000000'),
serviceDesc:'floor cleaning'
}]
externalServices:[{
serviceID:ObjectId('0000000000000'),
serviceDesc:'painting'
},
{
serviceID:ObjectId('0000000000000'),
serviceDesc:'white washing'
}]
Oben zwei sind Lookup-Sammlung. Und hier die Firmensammlung
_id:"xxxxxxxxxxxxxxxx",
name: 'xxxx',
Address:'xxx',
services:[{
serviceID:ObjectId('0000000000000'),
type: internalservice
},
{
serviceID:ObjectId('0000000000000'),
type: externalservice
}]
Hier möchte ich Service-Beschreibung basierend auf Typ zu füllen.
Ist ein bedingter Pfad beim Auffüllen möglich?
Hier ist mein Code
Company.findOne({"_id": mongoose.Types.ObjectId(req.params.companyID)},
{})
.populate('services.serviceID','serviceDesc','InternalService')
.exec(function (err, companyInfo) {
console.log(companyInfo);
});
Diese auffüllt interne Service-Beschreibung, aber ich brauche für Typen externalservice externe Service-Beschreibung zu füllen. Wenn ich zwei Auffüllungen habe, ersetzt das zweite Auffüllen das Ergebnis durch Null für nicht übereinstimmende Dokumente.