Ich habe Pymongo bei der Arbeit verwendet und diesen Artikel als Erinnerung erstellt. Ich werde es unten separat schreiben.
OS: Mac OS
MongoDB: 4.2
Python 3.6.8 :: Anaconda, Inc.
pymongo: 3.9.0
Wie Sie dem Namen entnehmen können, handelt es sich um eine MongoDB-Bibliothek, die auf Python ausgeführt wird.
Machen Sie im Grunde ein grobes Memo, indem Sie sich auf Folgendes beziehen. Referenz: pymongo document
main.py
import pymongo
from pymongo import MongoClient
#Verbindung mit Standardparametern(host=localhost,port = 27017)
#Wir können nicht garantieren, dass Sie tatsächlich eine Verbindung herstellen können
#Es scheint, dass beim Lesen und Schreiben von DBs wie find ein Fehler auftritt
client = MongoClient() #DB-Verbindung()
db = client.DB-Name#DB abrufen
collection = db.Sammlungsname#Sammlung(So etwas wie ein Tisch)Erhalten
main.py
#In Sammlung einfügen(Übergeben Sie einfach Daten im JSON-Format als Argument)
#Daten erstellen
json_list = [{"x":i,"y":i*2,"z":i*3} for i in range(0,5)]
#Dokument oder Dokumente einfügen(Scheint veraltet zu sein)
collection.insert(json_lsit)
#Fügen Sie nur ein Dokument ein
collection.insert_one({"x":255,"y":255,"z":255})
#Daten erstellen
json_list = [{"x":i,"y":i*2,"z":i*3,"a":i*4} for i in range(0,5)]
#Fügen Sie mehrere Dokumente ein
collection.insert_many(json_list)
――Es ist ein grobes Bild, aber es scheint, dass die SQL-Auswahlklausel der Projektion und die where-Klausel dem Filter entspricht. Referenz: Suchen, Anzeigevorgang
main.py
#Suche alle(Wenn Sie im Filter nichts angeben, können Sie alle Elemente abrufen)
data = collection.find(filter={})
for i in data:
pprint.pprint(i)
#Suche(Setzen Sie einfach unnötige Spalten in der Projektion auf 0
# 0,Es scheint, dass Sie die Anzeige mit True oder False ein- und ausschalten können, auch wenn es nicht 1 ist.
data = collection.find(filter={"x":{"$gt":1, # $gt:1 ->Größer als 1
"$lt":3}}, # $lt:3 ->Weniger als 3
projection={"_id":0}
)
for i in data:
pprint.pprint(i)
Die bedingte Abfrage scheint auf die gleiche Weise wie die Suche zu verwenden
main.py
#Übergeben Sie einfach den bedingten Ausdruck
#Löschen Sie ein Dokument, das den Bedingungen entspricht
collection.delete_one({"x":1})
#Löschen Sie Dokumente, die den Bedingungen entsprechen(Löschen Sie Dokumente mit x kleiner als 3)
collection.delete_many({"x":{"$lt":3}})
#Alle Elemente können ohne Angabe eines bedingten Ausdrucks gelöscht werden(Übergeben Sie einfach ein leeres Diktat)
# collection.delete_many({}) #Löschen Sie Dokumente, die den Bedingungen entsprechen
main.py
#Aktualisieren Sie ein Dokument, das den vom Filter angegebenen Bedingungen entspricht
collection.update_one(filter,
update,
upsert=False
)
#Aktualisieren Sie Dokumente, die den vom Filter angegebenen Bedingungen entsprechen, entsprechend der Aktualisierung
collection.update_many(filter,
update,
upsert=False
)
Es ist eine grobe Erklärung, aber die grundlegende Operation ist wie folgt. Wenn ich das nächste Mal Lust dazu habe, schreibe ich Bulk_Write, Aggregat usw. sorgfältiger.
Recommended Posts