Mongodb的安裝配置
1. 下載官網https://www.mongodb.com/download-center/community?jmp=nav 點擊“Download”下載即可
2. 按照提示進行安裝,選擇自定義路徑,eg:F:\Mongodb\
3. 安裝成功後,配置文件
① 創建幾個文件夾具體如下:數據庫路徑(data目錄)、日誌路徑(log目錄)和日誌文件(log/mongo.log文件)
② 創建配置文件mongo.conf,文件內容如下: 修正:端口號:27017
4. 創建並啓動MongoDB服務
按照如下命令來創建並啓動MongoDB服務,就可以通過windows服務來管理MongoDB的啓動和關閉了
在cmd下,F:\Mongodb\bin下(目錄爲自己的安裝路徑),
mongod –config “F:\Mongodb\mongo.conf” –install –serviceName “MongoDB”
net start MongoDB
4.1 啓動服務時遇到的問題
① 啓動服務時,提示系統錯誤5,拒絕訪問
解決:C:\Windows\System32\cmd.exe,以管理員的身份打開即可
② 提示“服務沒有響應控制功能”,見圖1
解決:sc delete MongoDB 重新啓動服務 見圖2
5. 服務啓動成功後,可以在服務查看
6 .測試,輸入http://ip:port .如下信息即測試ok
參考:https://www.cnblogs.com/minily/p/9431609.html
pymongo的安裝使用
1. pymongo的安裝
使用pip安裝:pip install pymongo
2. pymongo的使用(在使用前需確保mongodb已啓動服務)
import pymongo
# 連接Mongodb serverSelectionTimeoutMS:連接超時時間
client=pymongo.MongoClient(host="192.168.31.252",port=27107,serverSelectionTimeoutMS=3)
# 創建數據庫“test”
db=client.test
# 創建集合“students”數據庫中包含許多集合,
collection=db.students
# print(type(collection))
# 驗證集合是否已生產
cl=db.list_collection_names()
if "students" in cl:
print("true")
# 插入一個數據
student = {
'id': '20170101',
'name': 'Jordan',
'age': 21,
'gender': 'male'
}
result=collection.insert_one(student)
print(result)
# 插入多個數據
student1 = {
'id': '20170202',
'name': 'Mike',
'age': 21,
'gender': 'male'
}
student2 = {
'id': '20170203',
'name': 'kilter',
'age': 23,
'gender': 'male'
}
result=collection.insert_many([student1,student2])
print(result.inserted_ids)
# 查詢
result=collection.find_one({'name':'kilter'})
print(result)
# 查詢多條數據,返回結果相當於一個生成器
result=collection.find({'age':21})
for r in result:
print(r)
# 查詢年齡不等於21的數據
result=collection.find({'age':{'$ne':21}})
for r in result:
print(r)
# 計數 .count()已經過時,現用.count_documents()
# count=collection.find({'age':{'$ne':21}}).count()
count=collection.count_documents({'age':{'$ne':21}}) # 依條件的數據
count=collection.count_documents({}) # 總數據量
print(count)
# 排序 調用sort()方法 pymongo.ASCENDING指定升序,降序:pymongo.DESCENDING。
result=collection.find().sort('age',pymongo.ASCENDING)
print([re for re in result])
# 刪除 delete_one()和delete_many()
result=collection.delete_one({'name':'kilter'}) # 刪除第一條符合的數據
print(result.deleted_count) # 刪除數量
參考 :https://www.jb51.net/article/159652.htm