Python 直接連接mongodb數(shù)據(jù)庫進(jìn)行查詢操作
1、安裝所需模塊
使用到的是pymongo模塊,安裝方法:pip install pymongo
2、環(huán)境驗(yàn)證
3、連接數(shù)據(jù)庫
import pymongo
def operating_mongodb():
client = pymongo.MongoClient('ip_address', port)
db_auth = client.database
db_auth.authenticate("username", "password")
db = client.db_name
return db
4、連接到對應(yīng)的數(shù)據(jù)庫表
mongodb = operating_mongodb()
search_set = mongodb.table_name
5、按照所需字段排序
search_set.find().sort("field_name ",pymongo.ASCENDING) --升序
search_set.find().sort("field_name ",pymongo.DESCENDING) --降序
6、查詢數(shù)據(jù)庫表的全部內(nèi)容
第一種:search_set.find({})
第二種:search_set.find()
7、精確查詢
search_set.find({“field_name”:”value”})
search_set.find({“field_name”:”value”, “field_name”:”value”})
8、只返回所需要的字段信息
find的第二參數(shù)可以幫助我們只把需要的鍵值信息返回,需要將我們需要的鍵指定為1,
另外默認(rèn)的”_id”默認(rèn)是返回的,我們不需要它返回的話將它的值設(shè)為0
search_set.find({}, {“field_name_one”:1, “field_name_two”:1,”_id”:0})
9、比較查詢
首先 $lt和,$lte和=,$gt和>,gte和>=,ne和!=是一一對應(yīng)的
search_set.find({"field_name": {"$lt": value, "$gt": value}})
10、關(guān)聯(lián)查詢
如果只想查詢一個(gè)鍵的多個(gè)值,或取除某個(gè)值之外所有的數(shù)據(jù)那么就用到了
$in和$nin
比如我只想獲取field_name為1,5,8的數(shù)據(jù):
search_set.find({"field_name": {"$in": [1,5,8]}})
如果想獲取field_name為5之外的所有數(shù)據(jù):
search_set.find({"field_name": {"$nin": [5]}})
11、多條件模糊查詢
$regex為模糊查詢的字符串提供正則表達(dá)式功能
search_set.find({"$or": [{"field_name": {'$regex': value}},{"field_name": {'$regex': value}}]})
通過這些常用的查詢方法,靈活組合,基本可以滿足常見的查詢需求
到此這篇關(guān)于詳解Pymongo常用查詢方法總結(jié)的文章就介紹到這了,更多相關(guān)Pymongo 查詢內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- pymongo中聚合查詢的使用方法
- PyMongo 查詢數(shù)據(jù)的實(shí)現(xiàn)