亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

PyMongo進行MongoDB查詢和插入操作的高效使用示例

 更新時間:2023年11月15日 08:38:57   作者:小萬哥  
這篇文章主要為大家介紹了PyMongo進行MongoDB查詢和插入操作的高效使用示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

插入到集合中

要將記錄(在MongoDB中稱為文檔)插入到集合中,使用insert_one()方法。insert_one()方法的第一個參數(shù)是一個包含文檔中每個字段的名稱和值的字典。

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
mydict = { "name": "John", "address": "Highway 37" }
x = mycol.insert_one(mydict)

返回 _id 字段:

insert_one()方法返回一個InsertOneResult對象,該對象具有一個屬性inserted_id,其中包含插入的文檔的ID。

mydict = { "name": "Peter", "address": "Lowstreet 27" }

x = mycol.insert_one(mydict)

print(x.inserted_id)

插入多個文檔

要在MongoDB中的集合中插入多個文檔,使用insert_many()方法。insert_many()方法的第一個參數(shù)是包含要插入的數(shù)據(jù)的字典列表。

mylist = [
  { "name": "Amy", "address": "Apple st 652"},
  { "name": "Hannah", "address": "Mountain 21"},
  { "name": "Michael", "address": "Valley 345"},
  # ...
]
x = mycol.insert_many(mylist)
# 打印插入文檔的 _id 值列表
print(x.inserted_ids)

插入多個文檔,指定ID:

如果不希望MongoDB為文檔分配唯一的ID,可以在插入文檔時指定 _id 字段。確保這些值是唯一的,兩個文檔不能具有相同的 _id。

mylist = [
  { "_id": 1, "name": "John", "address": "Highway 37"},
  { "_id": 2, "name": "Peter", "address": "Lowstreet 27"},
  { "_id": 3, "name": "Amy", "address": "Apple st 652"},
  # ...
]
x = mycol.insert_many(mylist)
# 打印插入文檔的 _id 值列表
print(x.inserted_ids)

查找一個

要從MongoDB集合中選擇數(shù)據(jù),可以使用find_one()方法,它返回選擇中的第一個文檔。

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
x = mycol.find_one()
print(x)

查找所有

要從MongoDB集合中選擇所有文檔,可以使用find()方法。在find()方法中不指定參數(shù)會給出與SQL中的SELECT *相同的結(jié)果。

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
for x in mycol.find():
  print(x)

僅返回部分字段

如果想僅返回部分字段,可以在find()方法的第二個參數(shù)中指定要包含在結(jié)果中的字段。

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
for x in mycol.find({}, {"_id": 0, "name": 1, "address": 1}):
  print(x)

不允許在同一對象中同時指定0和1值

不允許在同一對象中同時指定0和1值,除非其中一個字段是 _id 字段。

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
# 會出現(xiàn)錯誤,因為同時指定了0和1值
for x in mycol.find({}, {"name": 1, "address": 0}):
  print(x)

高級查詢

要進行高級查詢,可以在查詢對象中使用修飾符作為值。例如,使用大于修飾符 $gt 可以查找 "address" 字段以字母 "S" 或更高字母(按字母順序)開頭的文檔。

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
myquery = { "address": { "$gt": "S" } }
mydoc = mycol.find(myquery)
for x in mydoc:
  print(x)

使用正則表達式過濾

您還可以使用正則表達式作為修飾符,但正則表達式只能用于查詢字符串。

例如,要僅查找 "address" 字段以字母 "S" 開頭的文檔,可以使用正則表達式 {"$regex": "^S"}。

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
myquery = { "address": { "$regex": "^S" } }
mydoc = mycol.find(myquery)
for x in mydoc:
  print(x)

以上就是PyMongo 進行 MongoDB 查詢和插入操作的詳細內(nèi)容,更多關(guān)于PyMongo 進行 MongoDB 查詢和插入操作的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Pandas數(shù)據(jù)清洗的維度詳解

    Pandas數(shù)據(jù)清洗的維度詳解

    數(shù)據(jù)清洗是數(shù)據(jù)分析的基礎(chǔ),關(guān)鍵于提高數(shù)據(jù)質(zhì)量和保證分析準確性。通過數(shù)據(jù)清洗,可以減少錯誤、增加數(shù)據(jù)可用性、保護隱私。Pandas提供多種方法處理缺失值和重復值,還有多種方式識別和處理異常值。掌握這些技巧對提升數(shù)據(jù)處理能力極為重要
    2024-09-09
  • python strip()函數(shù) 介紹

    python strip()函數(shù) 介紹

    Python strip() 方法用于移除字符串頭尾指定的字符,需要的朋友可以參考下
    2013-05-05
  • 用pycharm開發(fā)django項目示例代碼

    用pycharm開發(fā)django項目示例代碼

    這篇文章主要介紹了用pycharm開發(fā)django項目示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-06-06
  • pytorch超詳細安裝教程之Anaconda、PyTorch和PyCharm全套安裝流程

    pytorch超詳細安裝教程之Anaconda、PyTorch和PyCharm全套安裝流程

    這篇文章主要介紹了pytorch超詳細安裝教程之Anaconda、PyTorch和PyCharm全套安裝流程,介紹基于Anaconda環(huán)境以及PyCharm軟件結(jié)合,安裝PyTorch深度學習框架,需要的朋友可以參考下
    2023-04-04
  • python集合能干嗎

    python集合能干嗎

    在本篇內(nèi)容中小編給各位分享了關(guān)于python集合的作用以及相關(guān)實例內(nèi)容,需要的朋友們可以學習參考下。
    2020-07-07
  • Python中的迭代器與生成器高級用法解析

    Python中的迭代器與生成器高級用法解析

    這篇文章主要介紹了Python中的迭代器與生成器高級用法解析,生成器在Python中是迭代器的一種,這里我們會講到生成表達式、鏈式生成器等深層次內(nèi)容,需要的朋友可以參考下
    2016-06-06
  • python中csv文件數(shù)據(jù)顏色設(shè)置方式

    python中csv文件數(shù)據(jù)顏色設(shè)置方式

    這篇文章主要介紹了python中csv文件數(shù)據(jù)顏色設(shè)置方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • python中and和or邏輯運算符的用法示例

    python中and和or邏輯運算符的用法示例

    python中的邏輯運算符有兩種返回值,python運算符除了能操作bool類型表達式,還能操作其他所有類型的表達式,這篇文章主要給大家介紹了關(guān)于python中and和or邏輯運算符用法的相關(guān)資料,需要的朋友可以參考下
    2022-01-01
  • Python Django 命名空間模式的實現(xiàn)

    Python Django 命名空間模式的實現(xiàn)

    這篇文章主要介紹了Python Django 命名空間模式的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • pandas中Series運算匯總(算術(shù)、比較和邏輯運算)

    pandas中Series運算匯總(算術(shù)、比較和邏輯運算)

    本文主要介紹了pandas中Series運算匯總,包括算術(shù)運算、比較運算和邏輯運算等,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-06-06

最新評論