1. 程式人生 > >MongoDB pymongo模塊 查詢

MongoDB pymongo模塊 查詢

6.0 命令 color objectid 效果 get client 對象 我們

查詢

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‘: [‘籃球‘]}

MongoDB pymongo模塊 查詢