MongoDB pymongo模块 查询

本文详细介绍了使用Python的pymongo库进行MongoDB数据库查询的方法,包括find()和find_one()函数的使用,以及如何通过条件查询特定记录。

 

查询

mongo_db 类似于 服务器命令行的db 

我们可以db.user.find() 查询

 

find() 

需要加上列表

 

import pymongo

mongo_client = pymongo.MongoClient(
    host='192.168.0.112',
    port=27017,
    username="admin",
    password="123456"
)

mongo_db = mongo_client["db1"]
# 查询
res = mongo_db.user.find()
res = list(res)
print(res)

返回结果,和服务器一样的

[
    {'_id': ObjectId('5ca7a4b0219efd687462f965'), 'id': 1.0, 'name': 'jack', 'age': 73.0}, 
    {'_id': ObjectId('5ca7a4b7219efd687462f966'), 'id': 2.0, 'name': 'mike', 'age': 84.0, 'gender': ''}, 
    {'_id': ObjectId('5ca7a4c4219efd687462f967'), 'id': 3.0, 'name': 'peter', 'age': 21.0}, 
    {'_id': ObjectId('5ca7a4c4219efd687462f968'), 'id': 4.0, 'name': 'xiaogang', 'age': 34.0, 'hobby': ['篮球']}, 
    {'_id': ObjectId('5ca7a4c4219efd687462f969'), 'id': 5.0, 'name': 'ben', 'age': 24.0}, 
    {'_id': ObjectId('5ca7a505219efd687462f96a'), 'id': 6.0, 'name': 'Mary', 'age': 84.0, 'gender': ''}
]

 

find_one()方法:

import pymongo

# 生成pymongo对象,传入连接服务器相关参数 ip 端口
mongo_client = pymongo.MongoClient(
    host='192.168.0.112',
    port=27017,
    username="admin",
    password="123456"
)

# 选择连接的数据库
mongo_db = mongo_client["db1"]
# 查询
res = mongo_db.user.find_one()
print(res)

和findOne效果一样,返回第一条数据

{'_id': ObjectId('5ca7a4b0219efd687462f965'), 'id': 1.0, 'name': 'jack', 'age': 73.0}

 

 是一个字典可以取

import pymongo

# 生成pymongo对象,传入连接服务器相关参数 ip 端口
mongo_client = pymongo.MongoClient(
    host='192.168.0.112',
    port=27017,
    username="admin",
    password="123456"
)

# 选择连接的数据库
mongo_db = mongo_client["db1"]
# 查询
res = mongo_db.user.find_one()
print(res.get("_id"))

# 5ca7a4b0219efd687462f965

 


循环对象,循环比加list好,因为res是生成器,效率高

import pymongo

mongo_client = pymongo.MongoClient(
    host='192.168.0.112',
    port=27017,
    username="admin",
    password="123456"
)

mongo_db = mongo_client["db1"]
# 查询
res = mongo_db.user.find()
print(res)

for i in res:
    print(i)

是一个生成器,

<pymongo.cursor.Cursor object at 0x0000000002EC2DA0>

 

{'_id': ObjectId('5ca7a4b0219efd687462f965'), 'id': 1.0, 'name': 'jack', 'age': 73.0}
{'_id': ObjectId('5ca7a4b7219efd687462f966'), 'id': 2.0, 'name': 'mike', 'age': 84.0, 'gender': ''}
{'_id': ObjectId('5ca7a4c4219efd687462f967'), 'id': 3.0, 'name': 'peter', 'age': 21.0}
{'_id': ObjectId('5ca7a4c4219efd687462f968'), 'id': 4.0, 'name': 'xiaogang', 'age': 34.0, 'hobby': ['篮球']}
{'_id': ObjectId('5ca7a4c4219efd687462f969'), 'id': 5.0, 'name': 'ben', 'age': 24.0}
{'_id': ObjectId('5ca7a505219efd687462f96a'), 'id': 6.0, 'name': 'Mary', 'age': 84.0, 'gender': ''}

 

 

条件查询

import pymongo

mongo_client = pymongo.MongoClient(
    host='192.168.0.112',
    port=27017,
    username="admin",
    password="123456"
)

mongo_db = mongo_client["db1"]
# 条件查询
res = mongo_db.user.find_one({"age":34})
print(res)

# {'_id': ObjectId('5ca7a4c4219efd687462f968'), 'id': 4.0, 'name': 'xiaogang', 'age': 34.0, 'hobby': ['篮球']}

 

转载于:https://www.cnblogs.com/mingerlcm/p/10699351.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值