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

在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值