Mongodb - Regex-Übereinstimmung von Schlüsseln für Filialdokumente

8

Ich habe einige Dokumente in einer Sammlung gespeichert (genannt urls ), die wie folgt aussehen:

%Vor%

Mit der Mongo-CLI ist es möglich, nach Unterdokumenten von payload zu suchen, die mit /^url_/ übereinstimmen? Und wenn das möglich ist, wäre es auch möglich, die Unterdokumente der Übereinstimmung abzufragen (zum Beispiel, ob text existiert)?

Ich dachte etwa so:

%Vor%

Aber das bringt 0 Ergebnisse zurück.

Jede Hilfe oder Vorschläge wäre großartig.

Danke,

Matt

    
Matt P 02.09.2011, 01:31
quelle

1 Antwort

5

Auf diese Weise kann nicht nach Dokumentschlüsseln abgefragt werden. Sie können mit $exists nach genauen Übereinstimmungen suchen, aber Sie können keine Schlüsselnamen finden, die mit einem Muster übereinstimmen.

Ich nehme an (vielleicht fälschlicherweise), dass Sie Dokumente suchen, die ein URL-Unterdokument haben, und dass nicht alle Dokumente das haben? Warum drücken Sie diese Informationen nicht auf eine Ebene, etwa:

%Vor%

Dann könnten Sie fragen wie:

%Vor%

Ich wäre auch nachlässig, wenn ich nicht bemerkt hätte, dass Sie keine Punkte ( . ) als Schlüsselnamen in MongoDB verwenden sollten. In einigen Fällen ist es möglich, Dokumente wie diese zu erstellen, aber es wird zu großen Verwirrungen kommen, wenn Sie versuchen, eingebettete Dokumente abzufragen (wobei Mongo den Punkt als "Pfadtrennzeichen" verwendet).

    
dcrosta 03.09.2011 02:13
quelle

Tags und Links