日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

用python向mongodb插入数据_Python操作MongoDB数据库(一)

發布時間:2024/10/14 python 75 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用python向mongodb插入数据_Python操作MongoDB数据库(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python操作MongoDB數據庫(一)

前言

干貨文章繼續出發!隔的時間有些久了哈,對 MongoDB 安裝回顧的同學,可以看下windows環境 《初識 MongoDB 數據庫》。這篇文章結尾處,介紹到使用圖形化界面來創建了 MongoDB 的庫,表,以及數據。

今天這篇文章,來帶你來玩一玩,如何使用 Python 操作 MongoDB 數據庫。

MongoDB基礎概念

為了有一個良好的學習體驗,再操作之前簡單的理解下 MongoDB 的基礎數據類型會有極大的幫助。

  • MongoDB將數據存儲在靈活的,類似JSON的文檔中,這意味著字段可能因文檔而異,并且數據結構可以隨時間變化
  • 文檔模型映射到應用程序代碼中的對象,使數據易于使用
  • 即席查詢,索引和實時聚合提供了訪問和分析數據的強大方法
  • MongoDB是一個分布式數據庫,因此內置了高可用性,水平擴展和地理分布,并且易于使用
  • MongoDB可以免費使用。2018年10月16日之前發布的版本根據AGPL發布。2018年10月16日之后發布的所有版本(包括先前版本的修補程序)都在服務器端公共許可證(SSPL)v1下發布。

這段官方中文,是我從官網上機翻的,大家簡單看下就好。順便貼了下原版,因為技術性文章看原版是最好的!

如果了解關系型數據庫(如MySQL等)的同學,那么其實學習起 MongoDB 也是非常容易理解的,理解層次上的抽象,便是學習的最快方式,我們呢,可以對比下這兩種數據庫的區別,一看便知!

怎么樣,抽象與關系型數據庫一對比,理解是否容易很多呢?

Python操作MongoDB

1. 安裝 pymongo

首先要借助第三方庫 pymongo ,所以安裝:

pip

2. py 測試連接數據庫

import

首先,調用 MongoClient 方法對數據庫進行連接,參數一般我們寫兩個,host 寫主機 ip ,還有一個是 port 端口號,port默認的話是 27017 可以省略。

db

創建一個名字叫 traffic 的數據庫,并且打印返回如上圖所示。

注意:如果 MongoDB 中無此庫,需要在創建集合并且插入文檔后,數據庫方可自動創建。

什么意思呢?讓我們用命令行工具來查看下,當 MongoDB 服務啟動后,可以通過 bin 文件夾下的 mongo 進行連接,windows 系統大家可以自行右鍵 shift ,打開cmd進行操作,直接類似如下操作:

通過 show dbs; 命令查看當前 MongoDB 的數據庫,而實則上,這里的命令對應的就是上一篇中圖形化界面查看的樣子:

所以,其實圖形化界面的背后真諦,對應的都是命令行的執行。如果你新學了某一項新的技術,那么如果從命令行倒著往上層學習,只會事半功倍。

當然,除了以上的操作,還可以通過 py 代碼去查詢:

db_list = client.list_database_names()

代碼的順序,是先執行了創建數據庫的操作,在執行了讀取數據庫的操作,可以看到,數據庫并沒有被創建。

3. py 插入 MongoDB 數據庫(增加操作,簡稱增)

import pymongoclient = pymongo.MongoClient(host='127.0.0.1') db = client.traffic collections = db.person # 創建集合,student 相當于 mysql 的表名

當創建了名為 person 的集合時,執行代碼,依然沒有生成數據庫。繼續來為文檔中插入文檔和字段。

# 創建文檔數據 person_one = {'name': '咪哥雜談','age': '24','height': '175','weight': '60' } result = collections.insert_one(person_one) # 文檔插入集合 print(result) # 打印結果 print(result.inserted_id) # 打印插入數據的返回 id 標識

使用 insert_one 對文檔進行單條數據插入,返回結果自帶了一個 inserted_id 的屬性,當插入單條數據成功時,便返回個唯一 id 標識。


如何驗證 MongoDB 中是否成功插入了呢?有三種方案,先來說前兩種。

其一,最簡單的方式,通過圖形化工具直接進行查看,不難發現,當我們插入文檔時,數據庫可以看到有結果顯示了:

其二,使用命令行的客戶端進行查看(沒有圖形化工具的情況下):

show

pretty()中文是漂亮的意思,寫上就是整齊展示,不寫就是普通顯示。


忘記說了~上面僅僅是一條數據插入,但如果你想對多條數據插入,可以這樣操作:

# 創建文檔數據

使用 insert_many 對文檔進行多條數據插入,返回結果自帶了一個 inserted_ids 的屬性,當插入多條數據成功時,便返回個數組唯一 id 標識。


其三,便是使用我們的 py 進行查庫操作,下面開新節點介紹。

4. py 查詢 MongoDB 數據庫(查詢操作,簡稱查)

查詢可以查詢一條 find_one() 方法:

查詢多條,調用 find () 方法:

一般我們用 find() 查詢就行,既然是查詢,當然我們可以對其指定想要返回的字段,就像 sql 數據庫中 一樣:

select

在 find() 方法里,傳入如下代碼,0代表不要,1代表要,注意,里面是兩個參數,第一個參數是空的對象:

result

發現二者的區別了嗎?唯一標識 _id 如果不手動置為 0 ,它是不會自動隱藏的,所以當你只想查詢 name 和 age 字段時,需要手動 _id 置 0。

注意: 同時指定了 0 和 1 則會報錯,除了 _id 與其他字段不同的情況:


查詢還可以根據設定條件進行查詢,如 MySQL 中的這樣:

select

在 python 中,要如下使用,僅傳入一個參數:

result2 = collections.find({'age': '22'})

查詢到這里就結束了,本質上來說,MongoDB 還支持一些高級查詢語法,比如通過正則表達式去查詢,或是當條件與數字進行對比判斷時,如何書寫。但本項目中應該不涉及到高級查詢,所以就不多介紹了,感興趣的可以看下崔慶才老師的這篇博客,里面寫的通俗易懂。

[Python3網絡爬蟲開發實戰] 5.3.1-MongoDB存儲?cuiqingcai.com

總結

本篇介紹了 py 操作 mongo 的增加查詢操作,還有更新和刪除操作留在下一篇。篇幅有些過長了。

總結

以上是生活随笔為你收集整理的用python向mongodb插入数据_Python操作MongoDB数据库(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。