Jeg har svaret på dette et par gange om at hente underdokumenterne alene fra mongo-samlingen her , og her
Der er simpelthen ingen måde at gøre dette på i øjeblikket. Dette er adfærden ved filtrering af integrerede dokumenter på flere niveauer, normalt ville det matchende filter returnere hele dokumentet, ikke undersættene.
Der er allerede to udestående problemer i mongo relateret til denne positionelle ($) operator i felter for at returnere specifikation og Evne til at gøre brug af et underdokuments data, hvis indhold blev brugt til at opfylde en forespørgsel ved hjælp af $-operatoren . (Log venligst ind for at stemme, hvis du virkelig havde brug for funktionen)
Og dit alternative skema er heller ikke nyttigt her.
så du er nødt til at gemme hver funktion i et separat dokument som dette for at få det til at fungere, som du ønskede
funktion 1
{
'_id': SomeObjectId,
'name' :'some name',
'value': 'feature 1',
'some_field' : 'zzz'
}
funktion 2
{
'_id': SomeObjectId,
'name' :'some name',
'value': 'feature 2',
'some_field' : 'zzz'
}
og spørger
db.features.find({'_id':someobjectid})
vil kun returnere den specifikke funktion