mongodb 文档的嵌入和引用
mongodb 是介于关系型与非关系型数据之间的,mongodb的join查询可以通过引用来实现。可以将文档内容嵌入到另一个文档中,也可以将文档内容引用到另一个文档中。嵌入意味着要把某一类型的数据,如包含更多数据的数组,嵌入到文档本身。引用意味着创建一个引用
mongodb 是介于关系型与非关系型数据之间的,mongodb的join查询可以通过引用来实现。 可以将文档内容嵌入到另一个文档中,也可以将文档内容引用到另一个文档中。 嵌入意味着要把某一类型的数据,如包含更多数据的数组,嵌入到文档本身。 引用意味着创建一个引用,包含另一个文档的数据。相当于关系型数据库。 一. 嵌入 例如:我想使用一个关系型数据库来记录CD、DVD和购买信息。在这个数据中,需要一个表来收集CD,另一个表来存储CD歌曲信息。因此,如果要查询特定的信息就可能需要查询多个表的。 对于mongodb 或者其他非关系型数据库,会更容易的嵌入这些信息,采用这种方法会使数据库简洁,确保所有相关信息保存在单一的文档中,同时,检索数据更快。 数据结构如下: 关系型|_media |_cds |_id, artist, title, genre, releasedate |_ cd_tracklists |_cd_id, songtitle, length
|_media |_items |_
[ { "_id" : ObjectId("5353463193efef02c962da73"), "Type" : "CD", "Artist" : "Nirvana", "Title" : "Nevermind", "Tracklist" : [ { "Track" : "1", "Title" : "Smells like teen spirit", "Length" : "5:02" }, { "Track" : "2", "Title" : "In Bloom", "Length" : "4:15" } ] } ]
> use ttlsa_com switched to db ttlsa_com > apress = ( { "_id" : "Apress", "Type" : "Technical Publisher", "Category" : ["IT", "Software","Programming"] } ) { "_id" : "Apress", "Type" : "Technical Publisher", "Category" : [ "IT", "Software", "Programming" ] } > db.publisherscollection.insert(apress)
> book = ( { "Type" : "Book", "Title" : "Definitive Guide to MongoDB, the", "ISBN" : "987-1-4302-3051-9", "Publisher" : "Apress","Author" : ["Membrey,Peter","Plugge, Eelco","Hawkins, Tim"] } ) { "Type" : "Book", "Title" : "Definitive Guide to MongoDB, the", "ISBN" : "987-1-4302-3051-9", "Publisher" : "Apress", "Author" : [ "Membrey,Peter", "Plugge, Eelco", "Hawkins, Tim" ] } > db.mediaCollection.insert(book)
> book = db.mediaCollection.findOne({"ISBN" : "987-1-4302-3051-9"}) { "Author" : [ "Hawkins, Tim", "Plugge, Eelco" ], "ISBN" : "987-1-4302-3051-9", "Publisher" : "Apress", "Title" : " Different Title 2", "Type" : "Book", "_id" : ObjectId("5353462f93efef02c962da71") } > book.Publisher Apress > db.publisherscollection.findOne( { _id : book.Publisher } ) { "_id" : "Apress", "Type" : "Technical Publisher", "Category" : [ "IT", "Software", "Programming" ] }
> apress = ( { "Type" : "Technical Publisher", "Category" :["IT","Software","Programming"] } ) { "Type" : "Technical Publisher", "Category" : [ "IT", "Software", "Programming" ] } > db.publisherscollection.save(apress) > apress { "Type" : "Technical Publisher", "Category" : [ "IT", "Software", "Programming" ], "_id" : ObjectId("53588c221697e7511678752c") } > book = { "Type" : "Book", "Title" : "Definitive Guide to MongoDB, the", "ISBN" : "987-1-4302-3051-9", "Author": ["Membrey, Peter","Plugge,Eelco","Hawkins, Tim"], Publisher : [ new DBRef ('publisherscollection',apress._id) ] } { "Type" : "Book", "Title" : "Definitive Guide to MongoDB, the", "ISBN" : "987-1-4302-3051-9", "Author" : [ "Membrey, Peter", "Plugge,Eelco", "Hawkins, Tim" ], "Publisher" : [ DBRef("publisherscollection", ObjectId("53588c221697e7511678752c")) ] } > db.media.save(book) > db.media.find().toArray() [ { "_id" : ObjectId("53588ce01697e7511678752d"), "Type" : "Book", "Title" : "Definitive Guide to MongoDB, the", "ISBN" : "987-1-4302-3051-9", "Author" : [ "Membrey, Peter", "Plugge,Eelco", "Hawkins, Tim" ], "Publisher" : [ DBRef("publisherscollection", ObjectId("53588c221697e7511678752c")) ] } ]
原文地址:mongodb 文档的嵌入和引用, 感谢原作者分享。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Durch die Verwendung von Zeigern und Referenzen kann die Speichernutzung in C++ optimiert werden: Zeiger: Speichern Adressen anderer Variablen und können auf andere Variablen verweisen, wodurch Speicher gespart wird, aber möglicherweise wilde Zeiger generiert werden. Referenz: Alias für eine andere Variable, zeigt immer auf dieselbe Variable, generiert keine Platzhalter und ist für Funktionsparameter geeignet. Die Optimierung der Speichernutzung kann die Effizienz und Leistung des Codes verbessern, indem unnötige Kopien vermieden, Speicherzuweisungen reduziert und Platz gespart werden.

.NET 4.0 wird zum Erstellen einer Vielzahl von Anwendungen verwendet und bietet Anwendungsentwicklern umfangreiche Funktionen, darunter objektorientierte Programmierung, Flexibilität, leistungsstarke Architektur, Cloud-Computing-Integration, Leistungsoptimierung, umfangreiche Bibliotheken, Sicherheit, Skalierbarkeit, Datenzugriff und Mobilgeräte Entwicklungsunterstützung.

Wie verwende ich die Go-Framework-Dokumentation? Bestimmen Sie den Dokumenttyp: offizielle Website, GitHub-Repository, Ressource eines Drittanbieters. Verstehen Sie die Dokumentationsstruktur: Erste Schritte, ausführliche Tutorials, Referenzhandbücher. Finden Sie die Informationen nach Bedarf: Nutzen Sie die Organisationsstruktur oder die Suchfunktion. Begriffe und Konzepte verstehen: Lesen Sie neue Begriffe und Konzepte sorgfältig durch und verstehen Sie sie. Praxisbeispiel: Erstellen Sie mit Beego einen einfachen Webserver. Weitere Go-Framework-Dokumentation: Gin, Echo, Buffalo, Fiber.

In diesem Artikel wird beschrieben, wie man eine hoch verfügbare MongoDB -Datenbank für ein Debian -System erstellt. Wir werden mehrere Möglichkeiten untersuchen, um sicherzustellen, dass die Datensicherheit und -Dienste weiter funktionieren. Schlüsselstrategie: ReplicaSet: Replicaset: Verwenden Sie Replikaten, um Datenreduktion und automatisches Failover zu erreichen. Wenn ein Master -Knoten fehlschlägt, wählt der Replikate -Set automatisch einen neuen Masterknoten, um die kontinuierliche Verfügbarkeit des Dienstes zu gewährleisten. Datensicherung und Wiederherstellung: Verwenden Sie den Befehl mongodump regelmäßig, um die Datenbank zu sichern und effektive Wiederherstellungsstrategien zu formulieren, um das Risiko eines Datenverlusts zu behandeln. Überwachung und Alarme: Überwachungsinstrumente (wie Prometheus, Grafana) bereitstellen, um den laufenden Status von MongoDB in Echtzeit zu überwachen, und

In diesem Artikel wird vorgestellt, wie MongoDB im Debian -System konfiguriert wird, um eine automatische Expansion zu erzielen. Die Hauptschritte umfassen das Einrichten der MongoDB -Replikat -Set und die Überwachung des Speicherplatzes. 1. MongoDB Installation Erstens stellen Sie sicher, dass MongoDB im Debian -System installiert ist. Installieren Sie den folgenden Befehl: sudoaptupdatesudoaptinstall-emongoDB-org 2. Konfigurieren von MongoDB Replika-Set MongoDB Replikate sorgt für eine hohe Verfügbarkeit und Datenreduktion, was die Grundlage für die Erreichung der automatischen Kapazitätserweiterung darstellt. Start MongoDB Service: SudosystemctlstartMongodsudosysys

Um eine klare Dokumentation für Go-Funktionen zu schreiben, befolgen Sie die Konventionen und verwenden Sie die Godoc-Kommentarsyntax. Fügen Sie Kommentare zu Funktionsnamen, Parametern und Rückgabewerten hinzu, erweitern Sie die Dokumentation mit Markdown-Markup und verwenden Sie eine klare Sprache, um den Zweck und die Verwendung der Funktion zu verdeutlichen. Geben Sie spezifische Details an, verwenden Sie kommentierte Codebeispiele, um das Verhalten der Funktion zu demonstrieren, und behandeln Sie die Fehlerbehandlung.

Pinetwork startet Pibank, eine revolutionäre Mobile -Banking -Plattform! PiNetwork today released a major update on Elmahrosa (Face) PIMISRBank, referred to as PiBank, which perfectly integrates traditional banking services with PiNetwork cryptocurrency functions to realize the atomic exchange of fiat currencies and cryptocurrencies (supports the swap between fiat currencies such as the US dollar, euro, and Indonesian rupiah with cryptocurrencies such as PiCoin, USDT, and USDC). Was ist der Charme von Pibank? Lass uns herausfinden! Die Hauptfunktionen von Pibank: One-Stop-Management von Bankkonten und Kryptowährungsvermögen. Unterstützen Sie Echtzeittransaktionen und übernehmen Sie Biospezies

So finden Sie Dokumentation und Tutorials für ein bestimmtes Framework: Besuchen Sie die offizielle Framework-Website und suchen Sie nach der Registerkarte „Dokumentation“ oder „Tutorials“. Suchen Sie im GitHub-Repository des Frameworks oder auf der Website eines Drittanbieters nach von der Community bereitgestellter Dokumentation. Nutzen Sie Suchmaschinen, Video-Sharing-Plattformen und Online-Communities, um Online-Tutorials zu finden.
