Frage

Gibt es eine Möglichkeit, Array -Felder innerhalb von Dokumenten in MongoDB unter Verwendung von mehr als einem Zustand abzufragen? Beispieldokument:

{
    'title': 'A document title',
    'array_element': [
        {
            'some_identifier': 'abcdefg',
            'value': 10
        },
        {
            'some_identifier': 'hijklmnop',
            'value': 5
        },
        {
            ...etc...
        }
    ]
}

Ich muss eine Sammlung abfragen, um den niedrigsten Wert für eine bestimmte Kennung zu finden. Diese Werte werden jedoch mit anderen in einem Array gespeichert. Ich weiß, ich kann die Sammlung abfragen, um das Dokument zu finden, das das Array -Element mit dem niedrigsten Wert enthält, und das das Array -Element enthält, das mit einer Kennung übereinstimmt, aber ich kann nicht sicher sein, dass ein bestimmtes Array -Element beiden Bedingungen übereinstimmt . Gibt es eine Möglichkeit, dies effizient zu tun?

War es hilfreich?

Lösung

Du kannst den ... benutzen $elemMatch Operator Um dies zu erreichen, z.

foo.find( { "array_element" : 
             { $elemMatch : { 'some_identifier' : 'abcdefg', 'value' : 8 } } } );
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top