Skip to content

Instantly share code, notes, and snippets.

@altafshaikh
Created September 28, 2019 03:24
Show Gist options
  • Save altafshaikh/18412f679b9ff9a5dfb86ada0abcacd3 to your computer and use it in GitHub Desktop.
Save altafshaikh/18412f679b9ff9a5dfb86ada0abcacd3 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Getting started with MongoDB Atlas\n",
"\n",
"https://www.mongodb.com/cloud/atlas\n",
"\n",
"![](https://cdn-images-1.medium.com/max/907/1*02LVdlAj9fhWpu36LIKWmw.png)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"```\n",
"pip install pymongo\n",
"pip install pymongo[srv]\n",
"```"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from pymongo import MongoClient"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"client = MongoClient(\"mongodb+srv://root:root@cluster0-rnxus.mongodb.net/test?retryWrites=true&w=majority\")"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"db = client.get_database('student_details') #database name (new or existing db from mongodb atlas)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"records = db.student_details # get collection object"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Collection(Database(MongoClient(host=['cluster0-shard-00-02-rnxus.mongodb.net:27017', 'cluster0-shard-00-01-rnxus.mongodb.net:27017', 'cluster0-shard-00-00-rnxus.mongodb.net:27017'], document_class=dict, tz_aware=False, connect=True, retrywrites=True, w='majority', authsource='admin', replicaset='Cluster0-shard-0', ssl=True), 'student_details'), 'student_details')"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"records"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Count documents"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"records.count_documents({})"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Create new document"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"new_student = {\n",
" 'name': 'ram',\n",
" 'roll_no': 321,\n",
" 'branch': 'IT'\n",
"}"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/root/anaconda3/lib/python3.6/site-packages/ipykernel_launcher.py:1: DeprecationWarning: insert is deprecated. Use insert_one or insert_many instead.\n",
" \"\"\"Entry point for launching an IPython kernel.\n"
]
},
{
"data": {
"text/plain": [
"ObjectId('5d8ecc8222a1273bc759e6af')"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"records.insert(new_student)\n",
"# records.insert_one(new_student) #use this "
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"## so we are using insert_one or insert_many"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"records.count_documents({}) ## as we see it still get inserted"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"new_students = [\n",
" {\n",
" 'name': 'alex',\n",
" 'roll_no': 320,\n",
" 'branch': 'it'\n",
" },\n",
" {\n",
" 'name': 'john',\n",
" 'roll_no': 30,\n",
" 'branch': 'cse'\n",
" }\n",
"]"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<pymongo.results.InsertManyResult at 0x7f9c758e8d48>"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"records.insert_many(new_students)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Find documents"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[{'_id': ObjectId('5d8ecc8222a1273bc759e6af'),\n",
" 'branch': 'IT',\n",
" 'name': 'ram',\n",
" 'roll_no': 321},\n",
" {'_id': ObjectId('5d8ecd8522a1273bc759e6b0'),\n",
" 'branch': 'it',\n",
" 'name': 'alex',\n",
" 'roll_no': 320},\n",
" {'_id': ObjectId('5d8ecd8522a1273bc759e6b1'),\n",
" 'branch': 'cse',\n",
" 'name': 'john',\n",
" 'roll_no': 30}]"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"list(records.find())"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'_id': ObjectId('5d8ecc8222a1273bc759e6af'),\n",
" 'branch': 'IT',\n",
" 'name': 'ram',\n",
" 'roll_no': 321}"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"records.find_one({'roll_no': 321})"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Update documents"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"student_updates = {\n",
" 'name': 'Ram'\n",
"}"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<pymongo.results.UpdateResult at 0x7f9c758e8c88>"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"records.update_one({'roll_no': 321}, {'$set': student_updates})"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[{'_id': ObjectId('5d8ecc8222a1273bc759e6af'),\n",
" 'branch': 'IT',\n",
" 'name': 'Ram',\n",
" 'roll_no': 321},\n",
" {'_id': ObjectId('5d8ecd8522a1273bc759e6b0'),\n",
" 'branch': 'it',\n",
" 'name': 'alex',\n",
" 'roll_no': 320},\n",
" {'_id': ObjectId('5d8ecd8522a1273bc759e6b1'),\n",
" 'branch': 'cse',\n",
" 'name': 'john',\n",
" 'roll_no': 30}]"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"list(records.find())"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Delete documents"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<pymongo.results.DeleteResult at 0x7f9c75907848>"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"records.delete_one({'roll_no': 320})"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[{'_id': ObjectId('5d8ecc8222a1273bc759e6af'),\n",
" 'branch': 'IT',\n",
" 'name': 'Ram',\n",
" 'roll_no': 321},\n",
" {'_id': ObjectId('5d8ecd8522a1273bc759e6b1'),\n",
" 'branch': 'cse',\n",
" 'name': 'john',\n",
" 'roll_no': 30}]"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"list(records.find())"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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.6.3"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment