栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python操作momgo

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python操作momgo

import pymongo
import warnings
warnings.filterwarnings("ignore")  # 这个是避免mongo链接的时候爆的警告
from sshtunnel import SSHTunnelForwarder


def connect_test(tabe_name,database_name):
    test_database_name = database_name
    test_table_name = tabe_name

    url_test = '自己链接mongo的url地址'

    client = pymongo.MongoClient(url_test)
    client_db = client[test_database_name]
    client_table = client_db[test_table_name]
	
	# 这个返回的就是mongo的链接
    return client_table

if __name__ == '__main__':
    primary_key = ['PID', 'dateInclusion']
    tabe_name = 'TEST'
    database_name = 'enterprise'
    client = connect_test(tabe_name,database_name)

	# .find就是就是查询全部的数据
    all_data = client.find()

	# .couunt就是统计
    print(client.count())

	# 下面就是遍历全部数据
    for i in all_data:
        print(i)
if __name__ == '__main__':
    tabe_name = 'TEST'
    database_name = 'enterprise'
    client = connect_test(tabe_name,database_name)
    
    # 这个就是只显示 job_name字段,不显示 _id 字段
    all_data = client.find({},{"job_name":1,"_id":0})
    for i in all_data:
        print(i)

	# 这个就是只显示 pid,并且对 pid 倒叙排序,正序的话就是 1不是 -1
    all_data = client.find({},{"pid":1}).sort('pid',-1)
    for i in all_data:
        print(i)

if __name__ == '__main__':
    tabe_name = 'TEST'
    database_name = 'enterprise'
    client = connect_test(tabe_name,database_name)

    # 这个就是只显示 pid,并且对 pid 倒叙排序,正序的话就是 1不是 -1,
    # skip就是跳过几个,从第几个开始,3 就是跳过前三个,从第四个开始
    all_data = client.find({},{"pid":1}).sort('pid',-1).skip(3)
    for i in all_data:
        print(i)


分页显示

if __name__ == '__main__':
    tabe_name = 'TEST'
    database_name = 'enterprise'
    client = connect_test(tabe_name,database_name)

    # mongo 分页显示
    # 核心就是,先求出总数,然后就是跳过多少,限制多少
    all_num = client.find().count()
    skip_num = 0
    limit_num = 2  # 每页显示多少条
    while 1:
        print(skip_num)
        all_data2 = client.find({},{"pid":1,"_id":0}).skip(skip_num).limit(limit_num)
        for i in all_data2:
            print(i)
        skip_num+=limit_num
        if skip_num>=all_num:
            break

正则匹配

if __name__ == '__main__':
    tabe_name = 'TEST'
    database_name = 'enterprise'
    client = connect_test(tabe_name,database_name)

    # mongo 分页显示
    # 核心就是,先求出总数,然后就是跳过多少,限制多少
    all_num = client.find().count()
    skip_num = 0
    limit_num = 2  # 每页显示多少条
    while 1:
        print(skip_num)
        all_data2 = client.find({"company_name":{'$regex': '科技'}},{"company_name":1,"pid":1,"_id":-1}).skip(skip_num).limit(limit_num)
        for i in all_data2:
            print(i)
        skip_num+=limit_num
        if skip_num>=all_num:
            break

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/752993.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号