{ "cells": [ { "cell_type": "markdown", "id": "5033557c-cd29-4538-b411-7622493387c7", "metadata": {}, "source": [ "# The `teacher` collection" ] }, { "cell_type": "code", "execution_count": null, "id": "fb7170a6-d7a3-4629-b868-f31c91e3f8fe", "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "from pandas import DataFrame\n", "\n", "import pymongo\n", "from pymongo import MongoClient" ] }, { "cell_type": "markdown", "id": "fa6ededa-b848-4de2-8006-9a89a0500b0e", "metadata": {}, "source": [ "### Connect to the `school` database." ] }, { "cell_type": "code", "execution_count": null, "id": "3d1c7d25-0d66-494d-83d5-f67644562f97", "metadata": {}, "outputs": [], "source": [ "mongo_uri = 'mongodb://localhost:27017/'\n", "\n", "client = MongoClient(mongo_uri);\n", "client" ] }, { "cell_type": "code", "execution_count": null, "id": "1064ee84-ddd6-4780-a3d4-9df20bcc9d36", "metadata": {}, "outputs": [], "source": [ "school_db = client.school\n", "school_db" ] }, { "attachments": { "b9ea5732-6797-4c04-bcdf-3d162065b581.png": { "image/png": "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Of7445MoV6lRevQsSZQ9auxpqvq2t72tede73jVN0SyTCPQGgSTK3jR1VjQRSAS2isDQ33pv9WJ53noj8NrXvrY566yzSiXOOeec5otf/GJz1FFHNfvuu2/Z96//+q/N6173usbvYa+44opm//33b+5973s3Bx988B4Vv/jii5s/+IM/aP7+7/+++exnP9t827d9W3PHO96xefzjH99853d+527l/+u//qv5kz/5k+Yv//Ivmw996EPNjW984+ZnfuZnmsMOO6zZe++9dyv7ta99rTnhhBOaCy64oOFHvfOd79w8+MEPLs9SF/y///u/5s1vfnMp93d/93fND/7gDzZ3uctdmsMPP7z55m/+5kFRGvTOKP/Nox71qOa0005rLrroonLvRz7ykXs85+Ck/NA7BPYalgoig2L0rh+UCvNNts3ut7/97YVgEN5DH/rQ5tOf/nQp+13f9V0Df+EjHvGI5hWveEWz1157lWOnnHJK86QnPal8bv9DmH/zN3/T7LPPPuXQ//zP/zSPfvSjm7PPPrt8dxwhk0MPPbQ58cQTy2fE+cEPfrAQbhwvB3b+c47n/NEf/dGyy/GHP/zhg7rUz3q7292u+b3f+73mO77jO0rZ3/qt32pe9rKXNTe96U0HdXPg4x//eHPDG96wlMl//UEgg2L0p623XFNk9YIXvKCcv2PHjuarX/1qIUna2ROe8IRCJL/wC7/QfO5zn2s++clPNu9973sLwZx++ukDTfQ///M/m2c+85nlGi960Yuaz3/+882VV17ZnHfeeQ3CQmK///u/P3jG5zznOYUkERgCdW2apbJvetObmg9/+MODsj44/zWveU3zhS98oWiLP/7jP1720QZDXvrSlxaSvM1tbtP89V//dXlWk1S0X9c79thjo+hgawBQR1qo85MkB9Dkh50IpI8yu8FEBN797ncXbU7B5z//+UWD85npTSMjZqTJZz7zmeanf/qnizl8xBFHNN/6rd9aTN273e1uxZRW5ktf+pJNkd/5nd8p25NOOqm5yU1uUj7/2I/9WPPsZz+7kLB71/KMZzyjaLbXuc51igb5mMc8phxmXpN/+Zd/aV784heXz7/5m79ZruELDRYBEvdsLzNCuJYfcSMww1MSgRqB9FHWaOTnoQh84hOfKPtvutM8ZeLWQuskTHNm9M1vfvPi67MPaX3qU59qaHOI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" } }, "cell_type": "markdown", "id": "ef02d922-0d10-4507-93a6-e16a24f315e9", "metadata": {}, "source": [ "## Create the `teacher` collection.\n", "![Screenshot 2023-05-01 at 12.07.03 AM.png](attachment:b9ea5732-6797-4c04-bcdf-3d162065b581.png)" ] }, { "cell_type": "code", "execution_count": null, "id": "09b69453-da81-4cef-bf63-5b750e7278fc", "metadata": {}, "outputs": [], "source": [ "school_db.teacher.drop()" ] }, { "cell_type": "code", "execution_count": null, "id": "a38a1693-69d8-4d9d-ba1e-7b8ee9c210e1", "metadata": {}, "outputs": [], "source": [ "teacher_coll = school_db.teacher\n", "teacher_coll" ] }, { "cell_type": "code", "execution_count": null, "id": "65ea7879-bf43-420d-a24b-f9ad7db88b79", "metadata": {}, "outputs": [], "source": [ "teacher_coll.insert_many(\n", " [ { 'teacher_id': 'T7003', 'last': 'Rogers', 'first': 'Pat', 'contact_fk': 'C06' },\n", " { 'teacher_id': 'T7008', 'last': 'Thompson', 'first': 'Sidney', 'contact_fk': 'C07' },\n", " { 'teacher_id': 'T7012', 'last': 'Lane', 'first': 'John', 'contact_fk': 'C08' },\n", " { 'teacher_id': 'T7051', 'last': 'Flynn', 'first': 'Mabel', 'contact_fk': 'C09' }\n", " ]\n", ")" ] }, { "cell_type": "markdown", "id": "0d348781-ba50-47b7-b824-40954d5a4d7f", "metadata": {}, "source": [ "## Find all the teachers." ] }, { "cell_type": "code", "execution_count": null, "id": "e8344208-d9a8-4d91-8d56-2412c7fbe5f3", "metadata": {}, "outputs": [], "source": [ "sorted_teachers = teacher_coll.find({}, {'_id': 0}).sort('last')\n", "DataFrame(sorted_teachers)" ] }, { "cell_type": "markdown", "id": "4d093b50-c935-4886-b97d-993d9cecf2cb", "metadata": {}, "source": [ "## What do we have so far?" ] }, { "cell_type": "code", "execution_count": null, "id": "6ae0a217-e7cb-42ee-8f45-9332cfa7dbcc", "metadata": {}, "outputs": [], "source": [ "school_db.list_collection_names()" ] }, { "cell_type": "code", "execution_count": null, "id": "60e90d04-f424-42c9-a9d3-d4f657427be5", "metadata": {}, "outputs": [], "source": [ "client.close()" ] }, { "cell_type": "markdown", "id": "d52b66e5-ca2e-49d7-a7f2-b7f44fc6fc95", "metadata": {}, "source": [ "#### (c) 2023 by Ronald Mak" ] }, { "cell_type": "code", "execution_count": null, "id": "077d181e-552c-4459-ad38-e2825df69ead", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.18" } }, "nbformat": 4, "nbformat_minor": 5 }