MongoDB常用命令及pycharm連結MongoDB
MongoDB常用命令及pycharm連結MongoDB
1.安裝 --見world文件
2.啟動
1.在windows中啟動
1.切換到 安裝目錄的bin目錄下
1. e: 切換碟符
2. cd E:\Program Files\MongoDB\Server\3.4\bin 切換路徑
2.啟動服務端,並指定資料的儲存路徑
格式: mongod --dbpath=資料儲存路徑
如: mongod --dbpath=E:\Program Files\MongoDB\Server\3.4\data\db
注意有些需要加上引號 mongod --dbpath=“E:\Program Files\MongoDB\Server\3.4\data\db”
3.啟動客端端 --- 注:不要關閉服務
1.先啟動cmd =,切換到 安裝目錄的bin目錄下
2.執行啟動
格式: mongo.exe 看到 > 即可
2.在linux中,見linux安裝文件
3.資料庫操作
1.檢視所有的資料庫
格式: show databases;
簡寫: show dbs;
2.建立或者使用一個數據庫
格式: use 資料庫名;
當對應的資料庫不存在的時候,表示建立該資料庫
如果資料庫已經存在,表示使用該資料庫
注意:如果建立了一個新的資料庫,而該資料庫中沒有資料,則使用 show dbs檢視的時候,任然看不到,插入資料庫後,即可檢視到 插入資料如: db.student.insert({name:"haha"})
3.檢視當前使用的資料庫
格式: db 代表的是當前資料庫
或者 db.getName() 可以檢視當前資料庫的名字
4.刪除當前資料庫
db.dropDatabase()
5.幫助命令 help
6.退出
exit
-
集合的操作 —相當於關係型資料庫的 表
1.檢視當前庫中的所有集合
格式: show collections;
2.建立一個集合
方式1: db.createCollection(“集合名”) 集合名需要加上引號
例:db.createCollection(“集合名”)方式2: db.集合名.insert(資料)
例:db.student2.insert({name:“張三”})區別: 方式1是建立一個空的集合,如果集合已經存在,不會覆蓋建立
方式2:如果對應的集合不存在表示建立一個集合,並插入資料 如果對應的集合存在,表示直接插入一條資料!
3.刪除一個集合
格式: db.集合名.drop()
5.文件的操作 — 相當於關係型資料庫表中一行資料 row
1.新增一個數據
格式: db.集合名.insert(資料)
資料: key-value的形式
是bson格式, 與json格式一樣
格式: 1. {key1:value,key2:value, keyN:value}
2. [ {key1:value,key2:value, keyN:value}, {key1:value,key2:value, keyN:value}] jsonArray
3. {key1:巢狀json資料,key2:value, keyN:value}
例: db.student.insert({name:'習大大',age:66,address:"中南海",sex:"男"})
WriteResult({ "nInserted" : 1 })表示插入成功
注意: mongodb插入資料的時候,會預設生成一個 _id相當於關係型資料庫中的主健
如: "_id" : ObjectId("5b8f45c12e3e35173c33f13c")
2.新增多個數據
格式: db.集合名.insert([資料1,資料2,資料n])
例: db.student.insert([{name:‘習近平’,age:66,address:“北京”,sex:“女”},{name:‘習老總’,age:56,address:“陝西”,sex:“女”},{name:‘習大大’,age:46,address:“中南海”,sex:“男”},{name:‘習主席’,age:76,address:“西安”,sex:“男”},{name:‘習胖胖’,age:86,address:“東京熱”,sex:“男”}])
3.插入資料 save 儲存
格式: db.集合名.save(資料) 使用方法與insert一致
例: db.student.save({name:‘馬賽克’,age:150,address:“東京熱”,sex:“不明”})
區別:
db.student.save({ "_id" :ObjectId("5b8f47d03d9b6b894071334b"),name:'馬爸爸'})
如果使用的是save,而且設定_id屬性,且_id已經存在時, 此時save表示修改資料
db.student.insert({ "_id" :ObjectId("5b8f47d03d9b6b894071334b"),name:'馬媽媽'})
如果使用的是insert,而且設定_id屬性,且_id已經存在時, 則insert會報錯,
2.查詢資料—結果是 bson的形式
1.查詢所有的資料
格式: db.集合名.find()
pycharm下連結MongoDB
1、建立、插入
# 匯入mongodb模組 pip install pymongo
import pymongo
# 建立一個連結mongo伺服器的客戶端
# host 主機名
# port 埠號
mongoClient = pymongo.MongoClient(host="10.31.160.135",port=27017)
# 庫 --- 集合 --- 文件
#操作一個庫
# 格式: mongoClient.庫名 如果該庫存在表示使用該庫, 如果該庫不存在表示建立該庫
school = mongoClient.school
# 插入資料
# 注意: 在python中插入資料時,要插入字典形式
school.student.insert({'name':'金三胖胖','age':18,'address':'平壤','sex':'不明'})
#關閉連線,釋放資源
mongoClient.close()
2、查詢資料
import pymongo
from bson import ObjectId
# 通過ID查詢
mongoClient = pymongo.MongoClient(host="10.31.160.135",port=27017)
# 查詢
# 庫
school = mongoClient.school
# 集合
student = school.student
# 查詢
res= student.find()
# 查詢一條資料
# res = student.find({'name':'小胖胖'})
# 根據id查詢,注意倒包
# res = student.find({'_id':ObjectId('5b8f8bacd1d5bec17e7073b3')})
# 排序
# 注意: sort的引數 不是字典 而是普通引數形式 引數1表示要排序的欄位名, 引數2表示排序型別, 1 升序, -1降序
# res = student.find().sort("age",-1)
# 分頁
# n= 1
# res = student.find().skip(3*(n-1)).limit(3)
# print(res)
# print(type(res))
# 遍歷所有的結果,獲得集合中的文件
# 文件在python中是dict
for s in res:
print(s)
# print(type(s))
# print(s.get('name'))
mongoClient.close()
3、修改資料
import pymongo
mongoClient = pymongo.MongoClient(host="10.31.160.135",port=27017)
school = mongoClient.school
student = school.student
# student.update({'name':'習近平'},{"$set":{'address':'中華人民共和國'}})
# upsert
# multi
# student.update({'name':'xxxxxx'},{"$set":{'address':'中華人民共和國'}},{"upsert":"true"})
# student.update({'name':'xxxxxx'},{"$set":{'address':'中華人民共和國'}},upsert=True)
student.update({'name':'習近平'},{"$set":{'address':'中華人民'}},multi=True)
mongoClient.close()
4、刪除資料
import pymongo
mongoClient = pymongo.MongoClient(host="10.31.160.135",port=27017)
school = mongoClient.school
student = school.student
# multi相當於 命令中的justOne 相反
student.remove({"name":"金三胖胖"}, multi = True)
mongoClient.close()