python對MongoDB的操作

2021-10-10 20:31:32 字數 2257 閱讀 9506

python連線

try

: conn = mongoclient(ip, port)

database = conn[db]

#db為資料庫名稱

my_set = database[tb]

#tb為表名稱

# logger.info("需要檢測的字段:".format(field))

nm_all = my_set.estimated_document_count(

)#資料庫總條數

all_dates=my_set.find(

).limit(10)

return all_dates#返回需要檢測的數值,數量,第幾條

except exception as e:

logger.error(e)

1:資料庫的備份,恢復,資源監控

mongodump -h   127.0

.0.1

-d db -o path#將127.0.0.0.1上面的資料庫的資料備份到path路徑下面

mongorestore -h 127.0

.0.1

:27017

-d db path# 將資料恢復到本地的db資料庫中,db如果不存在就自動建立

mongostat

2:刪除,建立,重新命名

刪除資料庫

db.dropdatabase(

)建立集合

db.createcollection(name)

db.collection.insert(

)刪除集合

db.collection.drop(

)集合重新命名

db.collection.renamecollection(

"新名"

)

3,資料的插入

插入單個文件

db.collection.insert(

)插入多條

db.collection.insert([,

])insertone,插入一條

insertmany插入多條

insert 包含上面兩種功能

結果檢視

db.collection.find(

)

4:資料的查詢

db.collection.

find

(query, field)

query為查詢語句

field為要展示的域, 0為不顯示該網域名稱,1為顯示該網域名稱,無引數表示顯示所有

查詢符合條件的第一條資料

db.collection.

findone

()

5:條件操作符

大於 - $gt                   greater than

小於 - $lt less than

大於等於 - $gte

小於等於 - $lte

等於 $eq equal

不等於 $ne

包含 $in

不包含 $nin

邏輯與 and 逗號隔開,

邏輯或 or

邏輯非 not

既不也不 $nor

5:隨機取樣抽取資料,需要版本3.2以上。否則會報錯。

方式一:

db.tb.aggregate([}

])方式二:

通用性隨機取樣方式,將checke_number設定為隨機數,缺點資料量很大時,這個查詢效率很低(應該說任何帶有skip查詢的資料都非常的慢)

my_set.find(

).limit(1)

.skip(check_number -1)

]

6:模糊查詢

db.ods_mi_commodity_detail.find(

})

7:查詢某張表某個字段是否有重複值

db.getcollection('ods_gs_basic').aggregate([ } },     } }])
a=my_set.aggregate([}

},}}

])print

(a)

R對MongoDB的效能測試 RMongo

在九月初的時候,rmongodb正式發布了修訂版本,這也就意味著,從事數值計算的語言也可以於nosql產品相接軌了,但是鑑於我身邊並沒有公司真的在使用r和mongodb的結合,所以在效率問題上,我們也不敢掉以輕心,所以就做了乙個這樣的測試。測試環境是8核,64位機。用於測試的庫是乙個未經shardi...

Golang 對MongoDB的操作簡單封裝

golang 對mongodb的操作簡單封裝 使用mongodb的go驅動庫 mgo,對mongodb的操作做一下簡單封裝 初始化var globals mgo.session func init globals s 複製 func init 資料庫位址 dbhost mongodb timeout...

R對MongoDB的效能測試 RMongo

在九月初的時候,rmongodb正式發布了修訂版本,這也就意味著,從事數值計算的語言也可以於nosql產品相接軌了,但是鑑於我身邊並沒有公司真的在使用r和mongodb的結合,所以在效率問題上,我們也不敢掉以輕心,所以就做了乙個這樣的測試。測試環境是8核,64位機。用於測試的庫是乙個未經shardi...