Frage

Ich arbeite also an einem Haustierprojekt, bei dem ich verschiedene Textdateien speichere. Ich habe meine App eingerichtet, um die Tags als Zeichenfolge in einer meiner Sammlungen zu speichern. Ein Beispiel wäre also:

Tags: "Linux Apache WSGI"

Speichern Sie sie und die Suche nach ihnen funktionieren gut, aber meine Frage kommt, wenn ich so etwas wie eine Tag -Cloud machen möchte, alle verschiedenen Tags zählen oder ein dynamisches Auswahlsystem basierend auf Tags erstellen möchte. arbeiten mit? Oder sollte ich sie anders aufbewahren?

Logischerweise konnte ich jeden Datensatz durchsuchen und alle Tags abrufen, sie basierend auf dem Speicherplatz brechen und dann das Ergebnis irgendwie zwischenspeichern. Vielleicht ist das die richtige Antwort, aber ich wollte die Community -Weisheit fragen.

Ich benutze Pymongo, um mit meiner Datenbank zu interagieren.

War es hilfreich?

Lösung

Oder sollte ich sie anders aufbewahren?

Die Standardmethode zum Speichern von Tags besteht darin, sie als Array zu speichern. In Ihrem Fall würde die DB ungefähr aussehen wie:

tags: ['linux', 'apached', 'wsgi']

... Was ist der beste Weg, um sie für die Arbeit aufzubrechen?

Das ist was Karte verkleinern ist für. Dies "scannt jeden Rekord". Die Ausgabe einer Karte/Reduzierung ist eine weitere Sammlung, die Sie abfragen können.

Es gibt jedoch auch eine andere Möglichkeit, dies zu tun, und das ist, "Zähler" zu halten und sie zu aktualisieren. Wenn Sie also ein neues Dokument speichern, erhöhen Sie auch alle Tags, die sich auf dieses Dokument beziehen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top