MongoDb: драйвер Python

Содержание
  1. Введение Дистрибутив PyMongo содержит инструменты для взаимодействия с базой данных MongoDB из Python. В этом руководстве рассматривается установка PyMongo в различных операционных системах, подключение и базовые операции с базой данных, такие как вставка, обновление, удаление и поиск с помощью PyMongo. Установка с помощью pip pip — это инструмент для установки пакетов Python и управления ими. Используйте pip для установки PyMongo на платформах, отличных от Windows. $ pip install pymongo Чтобы получить конкретную версию pymongo: $ pip install pymongo == 2.6.3 Для обновления с помощью pip: $ pip install --upgrade pymongo Установка с помощью easy_install Setuptools обеспечивает загрузку, сборку, установку, обновление и удаление пакетов Python . Чтобы использовать easy_install из setuptools, выполните следующие действия: $ easy_install pymongo Для обновления выполните: $ easy_install -U pymongo Установщики MS Windows Дистрибутив PyMongo в Windows поддерживается и протестирован на Python 2.x ( где x> = 4) и Python 3.x (где x> = 1). PyMongo версии Перед установкой драйвера в Windows: Для завершения операции установки могут потребоваться права root или администратора. Перед установкой дистрибутива Python в вашей системе включите python.exe в параметре% PATH% Windows (переменная среды пути) или добавьте его вручную, если он не включен. Установка драйвера Windows: Выберите и загрузите отсюда пакеты установщика MSI в соответствии с вашими требованиями. Работа с MongoDB и PyMongo Мы предполагаем, что экземпляр MongoDB работает на хосте и порту по умолчанию. Перед тем как начать, убедитесь, что у вас установлен дистрибутив PyMongo. В оболочке Python следующее должно выполняться без возникновения исключения: >>> import pymongo >>> Установление соединения с MongoClient Чтобы создать MongoClient для запущенного экземпляра mongod, выполните следующий код: >>> from pymongo import MongoClient >>> client = MongoClient () Приведенный выше код будет подключаться к хосту и порту по умолчанию. Вы можете явно указать хост и порт следующим образом: >>> from pymongo import MongoClient >>> client = MongoClient (' localhost ', 27017) Вы также можете использовать формат URI MongoDB: >>> из pymongo import MongoClient >> > client = MongoClient ('mongodb://localhost: 27017/') Получение базы данных Один экземпляр MongoDB может поддерживать несколько независимых баз данных.. Вот команда: >>> db = client.testdb или (используя доступ в стиле словаря): >>> db = client ['testdb'] Вставить документ Чтобы вставить документ в коллекцию, вы можете использовать метод insert (). При вставке документа автоматически добавляется специальный ключ «_id», если документ еще не содержит ключа «_id». Значение «_id» должно быть уникальным для всей коллекции. insert () возвращает значение «_id» для вставленного документа. >>> import pymongo >>> from pymongo import MongoClient >>> client = MongoClient ()> >> db = client.testdb >>> student1 = {"name": "Arun", "classid": 'V', "rollno": 1} >>> student = db.students >>> student_id = student. insert (student1) >>> student_idObjectId ('548c02cd838d1f11b0d17d52') >>> Добавьте еще две записи: >> > student2 = {"name": "Дэвид", "classid": 'V', "rollno": 2} >>> student3 = {"name": "Shekhar", "classid": 'V', "rollno" ": 3} >>> student = db.students >>> student_id = student.insert (student2) >>> student_id = student.insert (student3) Найти документ Метод find_one () возвращает единственный документ, соответствующий запросу (или ни одного документа, если совпадений нет). Это полезно, когда вы знаете, что есть только один соответствующий документ. Здесь метод find_one () используется для получения первого документа из коллекции студентов: >>> import pymongo >>> from pymongo import MongoClient >>> client = MongoClient ( ) >>> db = client.testdb >>> Students = db.students >>> student.find_one () {'classid': 'V', '_id': ObjectId ('548c02cd838d1f11b0d17d52'), 'name': ' Arun ',' rollno ': 1} >>> Возвращенный документ содержит «_id», который был автоматически добавлен при вставке. Найти конкретный документ: метод find_one () также поддерживает запросы по определенным элементам, которым должен соответствовать итоговый документ. Разрешите поиск ученика «Шекхар». >>> import pymongo >>> from pymongo import MongoClient >>> client = MongoClient () >>> db = client.testdb >>> student = db.students >>> student.find_one ({"name": "Shekhar"}) {'classid': 'V', '_id': ObjectId ('548c058a838d1f11b0d17d54'), 'name': ' Shekhar ',' rollno ': 3} >>> Вы также можете найти учащегося по его _id, который в нашем примере является ObjectId. Запрос нескольких документов Чтобы получить более одного документа в результате запроса, мы используем метод find (). find () возвращает экземпляр курсора, который позволяет нам перебирать все совпадающие документы. Например, мы можем перебирать каждый документ в коллекции студентов: >>> import pymongo >>> from pymongo import MongoClient >>> client = MongoClient () >> > db = client.testdb >>> student = db.students >>> для ученика в student.find (): student {'classid': 'V', '_id': ObjectId ('548c02cd838d1f11b0d17d52'), 'name' : 'Arun', 'rollno': 1} {'classid': 'V', '_id': ObjectId ('548c0584838d1f11b0d17d53'), 'name': 'David', 'rollno': 2} {'classid': 'V', '_id': ObjectId ('548c058a838d1f11b0d17d54'), 'name': 'Shekhar', 'rollno': 3} >>> Запросы диапазона Вы можете использовать запрос, чтобы получить набор документов из нашей коллекции. Например, если вы хотите получить все документы, в которых «rollno»> = 2, код будет следующим: >>> import pymongo >>> from pymongo import MongoClient> >> client = MongoClient () >>> db = client.testdb >>> student = db.students >>> для ученика в student.find ({"rollno": {"$ gte": 2}}): print (студент) {'classid': 'V', '_id': ObjectId ('548c0584838d1f11b0d17d53'), 'name': 'David', 'rollno': 2} {'classid': 'V', '_id': ObjectId ('548c058a838d1f11b0d17d54'), 'name': 'Shekhar', 'rollno': 3} >>> Подсчет документов Используя операцию count (), вы можете подсчитать количество документов в коллекции. >>> student.count () 3 >>> Обновить конкретный документ Вы можете редактировать определенный документ с помощью операции update (). >>> student.find_one ({"name": " Shekhar "}) {'classid': 'V', '_id': ObjectId ('548c058a838d1f11b0d17d54'), 'name': 'Shekhar', 'rollno': 3} >>> student.update ({" name ": "Shekhar"}, {'$ set': {'rollno': 12}}) {'updatedExisting': True, 'nModified': 1, 'ok': 1, 'n': 1} >>> ученики. find_one ({"name": "Shekhar"}) {'classid': 'V', '_id': ObjectId ('548c058a838d1f11b0d17d54'), 'name': 'Shekhar', 'rollno': 12} >>> Удалить определенный документ Вы можете удалить определенный документ с помощью операции remove (). >>> студенты. remove ({"rollno": 12}) {'ok': 1, 'n': 1} >>> для ученика в student.find (): student {'classid': 'V', '_id': ObjectId ('548c02cd838d1f11b0d17d52'), 'name': 'Arun', 'rollno': 1} {'classid': 'V', '_id': ObjectId ('548c0584838d1f11b0d17d53'), 'name': 'David', 'rollno ': 2} >>>
  2. Установка с помощью pip
  3. Установка с помощью easy_install
  4. Установщики MS Windows
  5. Работа с MongoDB и PyMongo

Введение

Дистрибутив PyMongo содержит инструменты для взаимодействия с базой данных MongoDB из Python. В этом руководстве рассматривается установка PyMongo в различных операционных системах, подключение и базовые операции с базой данных, такие как вставка, обновление, удаление и поиск с помощью PyMongo.

Установка с помощью pip

pip — это инструмент для установки пакетов Python и управления ими. Используйте pip для установки PyMongo на платформах, отличных от Windows.

  $ pip install pymongo  

Чтобы получить конкретную версию pymongo:

  $ pip install pymongo == 2.6.3  

Для обновления с помощью pip:

   $ pip install --upgrade pymongo  

Установка с помощью easy_install

Setuptools обеспечивает загрузку, сборку, установку, обновление и удаление пакетов Python . Чтобы использовать easy_install из setuptools, выполните следующие действия:

  $ easy_install pymongo  

Для обновления выполните:

   $ easy_install -U pymongo  

Установщики MS Windows

Дистрибутив PyMongo в Windows поддерживается и протестирован на Python 2.x ( где x> = 4) и Python 3.x (где x> = 1). PyMongo версии

Перед установкой драйвера в Windows:

  • Для завершения операции установки могут потребоваться права root или администратора.
  • Перед установкой дистрибутива Python в вашей системе включите python.exe в параметре% PATH% Windows (переменная среды пути) или добавьте его вручную, если он не включен.

Установка драйвера Windows:
Выберите и загрузите отсюда пакеты установщика MSI в соответствии с вашими требованиями.

Работа с MongoDB и PyMongo

Мы предполагаем, что экземпляр MongoDB работает на хосте и порту по умолчанию. Перед тем как начать, убедитесь, что у вас установлен дистрибутив PyMongo. В оболочке Python следующее должно выполняться без возникновения исключения:

 >>> import pymongo >>>  

Установление соединения с MongoClient

Чтобы создать MongoClient для запущенного экземпляра mongod, выполните следующий код:

   >>> from pymongo import MongoClient >>> client = MongoClient ()  

Приведенный выше код будет подключаться к хосту и порту по умолчанию.

Вы можете явно указать хост и порт следующим образом:

 >>> from pymongo import MongoClient >>> client = MongoClient ('  localhost ', 27017)  

Вы также можете использовать формат URI MongoDB:

 >>> из pymongo import MongoClient >>  > client = MongoClient ('mongodb://localhost: 27017/')  

Получение базы данных

Один экземпляр MongoDB может поддерживать несколько независимых баз данных.. Вот команда:

 >>> db = client.testdb  

или (используя доступ в стиле словаря):

 >>> db = client ['testdb']  

Вставить документ

Чтобы вставить документ в коллекцию, вы можете использовать метод insert (). При вставке документа автоматически добавляется специальный ключ «_id», если документ еще не содержит ключа «_id». Значение «_id» должно быть уникальным для всей коллекции. insert () возвращает значение «_id» для вставленного документа.

 >>> import pymongo >>> from pymongo import MongoClient >>> client = MongoClient ()>  >> db = client.testdb >>> student1 = {"name": "Arun", "classid": 'V', "rollno": 1} >>> student = db.students >>> student_id = student.  insert (student1) >>> student_idObjectId ('548c02cd838d1f11b0d17d52') >>>  

Добавьте еще две записи:

 >>  > student2 = {"name": "Дэвид", "classid": 'V', "rollno": 2} >>> student3 = {"name": "Shekhar", "classid": 'V', "rollno"  ": 3} >>> student = db.students >>> student_id = student.insert (student2) >>> student_id = student.insert (student3)  

Найти документ

Метод find_one () возвращает единственный документ, соответствующий запросу (или ни одного документа, если совпадений нет). Это полезно, когда вы знаете, что есть только один соответствующий документ. Здесь метод find_one () используется для получения первого документа из коллекции студентов:

 >>> import pymongo >>> from pymongo import MongoClient >>> client = MongoClient (  ) >>> db = client.testdb >>> Students = db.students >>> student.find_one () {'classid': 'V', '_id': ObjectId ('548c02cd838d1f11b0d17d52'), 'name': '  Arun ',' rollno ': 1} >>>  

Возвращенный документ содержит «_id», который был автоматически добавлен при вставке.

Найти конкретный документ:

метод find_one () также поддерживает запросы по определенным элементам, которым должен соответствовать итоговый документ. Разрешите поиск ученика «Шекхар».

 >>> import pymongo >>> from pymongo import MongoClient >>> client = MongoClient () >>> db = client.testdb  >>> student = db.students >>> student.find_one ({"name": "Shekhar"}) {'classid': 'V', '_id': ObjectId ('548c058a838d1f11b0d17d54'), 'name': '  Shekhar ',' rollno ': 3} >>>  

Вы также можете найти учащегося по его _id, который в нашем примере является ObjectId.

Запрос нескольких документов

Чтобы получить более одного документа в результате запроса, мы используем метод find (). find () возвращает экземпляр курсора, который позволяет нам перебирать все совпадающие документы. Например, мы можем перебирать каждый документ в коллекции студентов:

 >>> import pymongo >>> from pymongo import MongoClient >>> client = MongoClient () >>  > db = client.testdb >>> student = db.students >>> для ученика в student.find (): student {'classid': 'V', '_id': ObjectId ('548c02cd838d1f11b0d17d52'), 'name'  : 'Arun', 'rollno': 1} {'classid': 'V', '_id': ObjectId ('548c0584838d1f11b0d17d53'), 'name': 'David', 'rollno': 2} {'classid':  'V', '_id': ObjectId ('548c058a838d1f11b0d17d54'), 'name': 'Shekhar', 'rollno': 3} >>>  

Запросы диапазона

Вы можете использовать запрос, чтобы получить набор документов из нашей коллекции. Например, если вы хотите получить все документы, в которых «rollno»> = 2, код будет следующим:

 >>> import pymongo >>> from pymongo import MongoClient>  >> client = MongoClient () >>> db = client.testdb >>> student = db.students >>> для ученика в student.find ({"rollno": {"$ gte": 2}}): print  (студент) {'classid': 'V', '_id': ObjectId ('548c0584838d1f11b0d17d53'), 'name': 'David', 'rollno': 2} {'classid': 'V', '_id':  ObjectId ('548c058a838d1f11b0d17d54'), 'name': 'Shekhar', 'rollno': 3} >>>  

Подсчет документов

Используя операцию count (), вы можете подсчитать количество документов в коллекции.

 >>> student.count () 3 >>>  

Обновить конкретный документ

Вы можете редактировать определенный документ с помощью операции update ().

 >>> student.find_one ({"name": "  Shekhar "}) {'classid': 'V', '_id': ObjectId ('548c058a838d1f11b0d17d54'), 'name': 'Shekhar', 'rollno': 3} >>> student.update ({" name ":  "Shekhar"}, {'$ set': {'rollno': 12}}) {'updatedExisting': True, 'nModified': 1, 'ok': 1, 'n': 1} >>> ученики.  find_one ({"name": "Shekhar"}) {'classid': 'V', '_id': ObjectId ('548c058a838d1f11b0d17d54'), 'name': 'Shekhar', 'rollno': 12} >>>  

Удалить определенный документ

Вы можете удалить определенный документ с помощью операции remove ().

 >>> студенты. remove ({"rollno": 12}) {'ok': 1, 'n': 1} >>> для ученика в student.find (): student {'classid': 'V', '_id': ObjectId  ('548c02cd838d1f11b0d17d52'), 'name': 'Arun', 'rollno': 1} {'classid': 'V', '_id': ObjectId ('548c0584838d1f11b0d17d53'), 'name': 'David', 'rollno  ': 2} >>>  

Оцените статью
nanomode.ru
Добавить комментарий