{ "cells": [ { "cell_type": "markdown", "id": "989222b1-7880-4601-a7c0-b3282291c07d", "metadata": {}, "source": [ "# The `takes` 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": "6f1dc5c3-baad-4c20-8df8-93766a0c7e8d", "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": { "67324523-699e-48e3-8f7f-c9ff60522bd4.png": { "image/png": "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YcPMNttsY+/NmzfP1rIvv/yyef/99027du3MN77xDTNkyBCz7rrrVoztU089VfR7+PDhZuutt7bu//KXv5if/vSnhm9DV6xYYXbccUfzzW9+0xx00EEl/uGOJvgTTzxhVq5cabp06WJ23XVX873vfc+0bdu2xK1euENgrahF3/qBff0UQF803NS97777zO67725OOOEEM3fu3MjA99prL4NRI//85z+t8W600Ubmj3/8o723aNEia8xcXHjhheaUU06x9zH2o446yrzxxhv2+gtf+IJ599137flxxx1nfvzjH5u11lrLfPzxx7af/Pjjj9tn+I3RIltuuaV58MEHzRZbbGGv9a8+COgH9vXBtWZf77zzTjNlyhT73sSJE83q1autgT733HNFA8VoqUX/8Ic/mJkzZ1q3Dz/8sHnxxRcjw1u8eHHRQH/4wx8WDfTf//63Oemkk6yBHn300dagf/e73xkMcauttjI33nhjseblHr+ddtrJLFu2zLpdunSp2W233czbb79djFtkBPRmXRHQPmld4Y3vOTUiTdBJkyZZo/3c5z5nm5j9+/c3PXr0sB698847TTyk9KV2Rq644gozdOjQohsMmxoWYcqG2hGhuXveeefZ86lTp9ojzW6kffv2ZtNNN7Xn1KCXX365ufjii03v3r3tPf1zj4D2Sd1jHhliv379DD8EY2Sa5ve//72hhn3ttdfsfZqkQaE5evDBB9tmKQZOvzUoy5cvt5fUmtTOQaEGR2gOM6XTp08fe02fmNr0W9/6lq2d/+///s/2S+1D/fOCgBqpF9ijA/35z39uJk+eXOw/RrsqvSv9xt/85je2uSrGhisMHaE/OnLkSHse9SeDRPR5GSSiz8oAEj+EpvIPfvADHTyyaLj/UyN1j3lkiLfddluxqUqtyEDSDjvsYL72ta+ZESNGGOZWowRDop9JMxl39Ctbt25tnUrzloGj7373u1Gv23ubb765PTI4Rc1KE5qBol/96le2Jr/lllsMX0dRiKi4R0CN1D3mkSHedNNN9n5wZFYcPv/88/aUZmlQMMLDDjvMfPLJJ+YXv/iFNTCMVQamunbtap3/+c9/tkYffBejYzqIPiiDQ48++qg18P3228/07NnT/s4880xbOFCTUlP/4x//MBtssEHQGz13gIAOHDkAORzEOuusY28xgitCkxMJG8GMGTPs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" } }, "cell_type": "markdown", "id": "ef02d922-0d10-4507-93a6-e16a24f315e9", "metadata": {}, "source": [ "## Create the `takes` collection.\n", "![Screenshot 2023-05-01 at 2.48.25 PM.png](attachment:67324523-699e-48e3-8f7f-c9ff60522bd4.png)" ] }, { "cell_type": "code", "execution_count": null, "id": "a81ca251-bce6-463a-b086-39c9539aa85b", "metadata": {}, "outputs": [], "source": [ "school_db.takes.drop()" ] }, { "cell_type": "code", "execution_count": null, "id": "a38a1693-69d8-4d9d-ba1e-7b8ee9c210e1", "metadata": {}, "outputs": [], "source": [ "takes_coll = school_db.takes\n", "takes_coll" ] }, { "cell_type": "code", "execution_count": null, "id": "65ea7879-bf43-420d-a24b-f9ad7db88b79", "metadata": {}, "outputs": [], "source": [ "takes_coll.insert_many(\n", " [ { 'student_fk': 'S1001', 'class_fk': 'DATA220' },\n", " { 'student_fk': 'S1001', 'class_fk': 'DATA225' },\n", " { 'student_fk': 'S1001', 'class_fk': 'DATA240' },\n", " { 'student_fk': 'S1005', 'class_fk': 'DATA220' },\n", " { 'student_fk': 'S1005', 'class_fk': 'DATA225' },\n", " { 'student_fk': 'S1005', 'class_fk': 'DATA245' },\n", " { 'student_fk': 'S1014', 'class_fk': 'DATA200' },\n", " { 'student_fk': 'S1014', 'class_fk': 'DATA245' },\n", " { 'student_fk': 'S1021', 'class_fk': 'DATA200' },\n", " { 'student_fk': 'S1021', 'class_fk': 'DATA225' },\n", " { 'student_fk': 'S1021', 'class_fk': 'DATA240' }\n", " ]\n", ")" ] }, { "cell_type": "markdown", "id": "634d138b-a429-413b-b1cd-a9eb51b3ffc6", "metadata": {}, "source": [ "## Find all the takes." ] }, { "cell_type": "code", "execution_count": null, "id": "f11d7565-9fd9-4def-ac5d-cb46bc6e07da", "metadata": {}, "outputs": [], "source": [ "sorted_takes = takes_coll.find({}, {'_id':0}).sort('student_id')\n", "DataFrame(sorted_takes)" ] }, { "cell_type": "markdown", "id": "6e504794-9aab-4a2f-8d60-6b9edb8f6271", "metadata": {}, "source": [ "## What do we have so far?" ] }, { "cell_type": "code", "execution_count": null, "id": "262fe0ce-2a6e-40c7-85cb-437b5667a8f9", "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": "c77088f5-10e4-4f53-9513-1dd1a64413d6", "metadata": {}, "source": [ "#### (c) 2023 by Ronald Mak" ] }, { "cell_type": "code", "execution_count": null, "id": "240ed160-169d-4b6e-ab18-5f031d1a3098", "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 }