2016-08-16 7 views
0

Ich versuche, ein bestimmtes Objekt aus Array von Objekten in Mongodb zu finden.Suche bestimmtes Element In Array mongodb

Ich versuche, diese

Company.findOne ({ 
"configuration.macAddress": "AB-90-dF-8d" 
}); 

Es gibt mir die genaue Firma, aber es gibt alle Konfigurations Array ich nur Konfiguration wollen mit macaddress passend

Antwort

0

Sie können $ elemMatch ein bestimmtes Objekt zu finden in einem Array.

Company.find ({Konfiguration: {$ elemMatch: {macAddress: "AB-90-dF-8d"}}});

Können Sie mir Ihr Array von Objekten zeigen?

0

Verwenden Sie stattdessen Aggregat(). $ zuerst das Konfigurationsarray auflösen, dann kann $ nur mit dem spezifischen Element übereinstimmen.

Company.aggregate([ 
    { 
     "$unwind": "$configuration" 
    }, 
    { 
     "$match":{ 
      "configuration.macAddress": "AB-90-dF-8d" 
     } 
    } 
]); 
Verwandte Themen