Frage

Ich habe zwei Dokumentensätze bekommen:

Wikis und WikiTags. Da i flexible Bearbeitung von Tag-Namen wollen mag ich nicht zu embed-Tag selbst in Wiki-Dokument. So speichere ich eine Liste von wiki_tag_ids innerhalb Wiki-Dokuments.

Ich frage mich, was der beste Weg ist verwandte Tags mit diesem Schema zu finden. Durch verwandte Tags ich meine Tags, die in anderen Wikis existieren getaggt mit ausgewählten Tags.

sein Darf ich verwandte Tags in WikiTag Dokument gespeichert werden sollte?

War es hilfreich?

Lösung

Ich schlage vor, Sie sollten WikiTag in der Wiki-Dokument speichern speichern. Mongodb ermöglicht eine einfache Aktualisierung, löschen einzelnes Dokument aus einem verschachtelten Sammlung, das ist mean ‚flexible Bearbeitung von Variablennamen‘.

Sammlung wie folgt aus:

wikis 
  {
    _id,
    wikiTags {_id, name, ...},
    ...
  }

So, zum Beispiel, wenn Sie aktualisieren möchten verschachtelt WikiTag Namen mit id = SomeTagId können Sie:

db.wikis.update( {'wikiTags.id':SomeTagId},
                 {$set:{'wikiTags.$.name':"New Tag Name"}},
                  false, 
                  true )

Wenn yoy wollen löschen Artikel aus verschachtelten Array sollten Sie $ unset ,  neues Element hinzuzufügen: $ push, $ addToSet

Also, ich denke jetzt sehen Sie, dass jede Operation mit verschachtelter Array kann leicht durchgeführt werden. Und wenn die Leistung ist ein Problem -. Verwendung Einbettung

Hope, das hilft.

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