MongoDB-Ansicht

Inhaltsverzeichnis

Szenen, die verwendet werden sollen

Zwei Ansichten

Verhalten ansehen

Berechtigungen anzeigen

Vorgänge anzeigen


Eine MongoDB-Ansicht ist ein schreibgeschütztes, abfragbares Objekt. Die Daten in der Ansicht werden durch Sammlungsabfragen abgerufen, die in anderen Sammlungen oder Ansichten definiert sind. Die Ansichten von MongoDB sind außerdem in zwei Typen unterteilt: Standardansichten (als Ansichten bezeichnet) und materialisierte Ansichten. Die Standardansicht ist die im allgemeinen Abfragesinn beschriebene und verwendete Ansicht. Die in der Ansicht abgefragten Daten werden nicht auf der Datenbankfestplatte gespeichert, sondern während der Abfrage in Echtzeit berechnet. In materialisierten Ansichten werden Daten während der Abfrage direkt von der Festplatte gelesen.

Szenen, die verwendet werden sollen

In Systementwicklungsanwendungen gibt es für Ansichten ein breites Spektrum an Verwendungsszenarien.

  • Um einige vertrauliche Informationen zu verbergen, erstellen Sie einen Mitarbeiterdatensatz ohne persönlich identifizierbare Informationen, der von Anwendungen und Entwicklern zur Abfrage verwendet werden kann.
  • Führen Sie Berechnungen für Felder in der Datenbank durch, um einen Sensordatensatz mit berechneten Feldern und Metriken zu erstellen.
  • Um Statistiken und Abfragedatensätze zu erleichtern, erstellen Sie eine Ansicht mit Bestands- und Bestellhistorie.

Zusätzlich zu den oben genannten typischen Anwendungsszenarien verfügen Ansichten über viele Anwendungsszenarien, die verschiedene Annehmlichkeiten für Entwicklung und Anwendung bieten.

Zwei Ansichten

Zu Beginn des Textes werden zwei Ansichten vorgestellt: die Standardansicht und die materialisierte Ansicht. Es gibt einige Ähnlichkeiten und Unterschiede zwischen den beiden Ansichten. Während des Systementwicklungsprozesses können Benutzer weiterhin zwei verschiedene Ansichten entsprechend ihren tatsächlichen Geschäftsanforderungen auswählen.

  • Beide Ansichten geben Ergebnisse durch Sammlungsabfrageaggregation zurück.
  • Bei der Abfrage in der Standardansicht werden die Berechnungsergebnisse in Echtzeit abgerufen und nicht auf der Festplatte gespeichert. Bei der Abfrage können Sie die zuletzt aktualisierten Daten abrufen, ohne die Aktualisierung der Daten auf der Festplatte zu berücksichtigen.
  • Die materialisierte Ansicht wird auf der Festplatte gespeichert und die Aggregationspipeline enthält die Methode $merge oder $out. Wenn Sie materialisierte Ansichten verwenden, müssen Sie Datenaktualisierungen berücksichtigen und können möglicherweise nicht die zuletzt aktualisierten Daten abrufen.
  • Standardansichtsabfragen basieren auf dem Index der Sammlung und können keine neuen Indizes erstellen. Systementwickler können materialisierten Ansichten Indizes hinzufügen, um die Abfrageeffizienz zu verbessern.
  • Materialisierte Ansichten werden direkt von der Festplatte gelesen und erfordern keine Echtzeitberechnungen, sodass die Leistung häufig schlechter ist als bei Standardansichten.

Verhalten ansehen

  • Die Ansicht ist schreibgeschützt. MongoDB lässt das Einfügen von Daten in die Ansicht nicht zu. Beim Einfügen von Daten in die Ansicht meldet Mongodb einen Fehler.
db.placesView.insertOne({ _id: 1, category: "café" })
WriteError({
	"index" : 0,
	"code" : 166,
	"errmsg" : "Namespace test.placesView is a view, not a collection",
	"op" : {
		"_id" : 1,
		"category" : "café"
	}
})
  • In der Ansicht ist die Verwendung des Datenbankspeichers bei Verwendung der Sortierpipeline in der Sammlungsvorgangsaggregation auf 100 MB begrenzt. Wenn der Speicher 100 MB überschreitet, muss {allowDiskUsage:true} verwendet werden. Wenn der Parameter „allowDiskUsage“ in der Abfrageansichtsanweisung definiert ist, wird der in der Ansicht definierte Parameter „allowDiskUse“ überschrieben.
  • Wenn es sich bei der Sammlung, von der die Ansicht abhängt, um eine Shard-Sammlung handelt, wird auch die Ansicht fragmentiert. Die Operationen $lookup und $graphLookup können nicht verwendet werden, um Shard-Ansichten abzurufen
  • Die Standardansicht einer Zeitreihensammlung ist beschreibbar. MongoDB ermöglicht das Einfügen von Daten in Standardansichten von Zeitreihensammlungen.

Berechtigungen anzeigen

  • Beim Erstellen einer Ansicht muss der Benutzer über die Berechtigung „createCollection“ verfügen. Gleichzeitig muss der Benutzer über Abfrageberechtigungen für die Sammlung verfügen, von der die Abfrageansicht abhängt.

Vorgänge anzeigen

Mongodb unterstützt das Erstellen, Abfragen, Ändern und Löschen von Ansichten. Aus Platzgründen wird es in diesem Artikel vorerst nicht vorgestellt. Bitte beziehen Sie sich auf das Abonnieren anderer Artikel.

Supongo que te gusta

Origin blog.csdn.net/wilsonzane/article/details/135201008
Recomendado
Clasificación