Mein neuer Job bei IBM ist ein Mitarbeiter im Entwicklungssupport. Das bedeutet, dass ich die meiste Zeit mit der Arbeit mit Datenbanken verbringe. In meinem Workflow habe ich einige Zeit mit MongoDB verbracht – einer Dokumentendatenbank. Beim Abrufen von Datensätzen nach ID sind jedoch einige Probleme aufgetreten. Der folgende Code ist die endgültige Version. Ich kann ihn direkt zitieren, wenn in Zukunft ähnliche Probleme auftreten. Wenn Sie es auch benötigen, hoffe ich, dass das Folgende für Sie hilfreich ist.
MongoDB und IDs
Wenn ich Daten in eine Sammlung einfüge, lege ich das Feld _id nicht fest; wenn dieses Feld leer ist, generiert MongoDB automatisch eine ID Die Bedienung gefällt mir sehr gut. Dies führt jedoch zu Problemen, wenn ich von MongoDB generierte Bezeichner verwende.
Wenn ich db.posts.find() verwende, um meine Daten abzurufen (meine Sammlung heißt Beiträge), dann sehen die Daten so aus:
{ "_id " : ObjectId("575038831661d710f04111c1"), ...
Wenn ich also die Daten mithilfe der ID abrufen möchte, muss ich auch die ObjectId-Methode einschließen, um auf die ID zuzugreifen.
Verwendung der PHP-Bibliothek
Als ich dafür PHP verwendet habe, habe ich bei der Verwendung dieser neuen PHP-Bibliothek kein passendes Beispiel gefunden (diese Klassenbibliothek ist es jedoch). tatsächlich eine sehr gute Bibliothek). In früheren Versionen wurde diese Bibliothek mithilfe einer Klasse namens MongoID implementiert. Aber ich weiß, dass das nicht das ist, was ich will – aber ich kann das Dokument tatsächlich über diese Klasse überprüfen. Daher ist es hilfreich, diese Methode zu kennen, wenn Sie nur Beispiele aus vorherigem Code finden können.
Um mithilfe dieser PHP-Bibliothek eine ID an MongoDB zu übergeben, müssen Sie eine MongoDBBSONObjectID-Instanz erstellen. Das folgende Beispiel ruft Dokumente in einem Blog nach Dokument-ID ab.
$post = $posts->findOne(["_id" => new MongoDBBSONObjectID($id)]);
Dann gehe ich um diesen Datensatz zu aktualisieren – dieser Blog-Beitrag enthält auch eingebettete Kommentare in diesem Datensatz, also fügen Sie der Sammlung von Kommentaren in diesem Datensatz ein Array mit der _id hinzu,
$result = $posts->updateOne( ["_id" => new MongoDB\BSON\ObjectID($id)], ['$push' => [ "comments" => $new_comment_data ] ]);
Abschließend hoffe ich, dass dieser Artikel für alle hilfreich sein wird. Vielen Dank an alle für die Unterstützung dieser Website!
Weitere PHP-Bibliotheken finden Sie auf der chinesischen PHP-Website. Dort finden Sie verwandte Artikel zum Abfragen der Dokument-ID in 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

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

MinGW – Minimalistisches GNU für Windows
Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

Dreamweaver CS6
Visuelle Webentwicklungstools

mPDF
mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung