欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PyMongo進(jìn)行MongoDB查詢和插入操作的高效使用示例

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

插入到集合中

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

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()方法返回一個(gè)InsertOneResult對(duì)象,該對(duì)象具有一個(gè)屬性inserted_id,其中包含插入的文檔的ID。

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

x = mycol.insert_one(mydict)

print(x.inserted_id)

插入多個(gè)文檔

要在MongoDB中的集合中插入多個(gè)文檔,使用insert_many()方法。insert_many()方法的第一個(gè)參數(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)

插入多個(gè)文檔,指定ID:

如果不希望MongoDB為文檔分配唯一的ID,可以在插入文檔時(shí)指定 _id 字段。確保這些值是唯一的,兩個(gè)文檔不能具有相同的 _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)

查找一個(gè)

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

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

查找所有

要從MongoDB集合中選擇所有文檔,可以使用find()方法。在find()方法中不指定參數(shù)會(huì)給出與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()方法的第二個(gè)參數(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)

不允許在同一對(duì)象中同時(shí)指定0和1值

不允許在同一對(duì)象中同時(shí)指定0和1值,除非其中一個(gè)字段是 _id 字段。

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
# 會(huì)出現(xiàn)錯(cuò)誤,因?yàn)橥瑫r(shí)指定了0和1值
for x in mycol.find({}, {"name": 1, "address": 0}):
  print(x)

高級(jí)查詢

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

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)

使用正則表達(dá)式過(guò)濾

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

例如,要僅查找 "address" 字段以字母 "S" 開(kāi)頭的文檔,可以使用正則表達(dá)式 {"$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 進(jìn)行 MongoDB 查詢和插入操作的詳細(xì)內(nèi)容,更多關(guān)于PyMongo 進(jìn)行 MongoDB 查詢和插入操作的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

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

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

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

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

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

    用pycharm開(kāi)發(fā)django項(xiàng)目示例代碼

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

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

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

    python集合能干嗎

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

    Python中的迭代器與生成器高級(jí)用法解析

    這篇文章主要介紹了Python中的迭代器與生成器高級(jí)用法解析,生成器在Python中是迭代器的一種,這里我們會(huì)講到生成表達(dá)式、鏈?zhǔn)缴善鞯壬顚哟蝺?nèi)容,需要的朋友可以參考下
    2016-06-06
  • python中csv文件數(shù)據(jù)顏色設(shè)置方式

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

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

    python中and和or邏輯運(yùn)算符的用法示例

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

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

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

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

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

最新評(píng)論