python通过pymongo来操作mongo

python操作mongo的API地址:https://api.mongodb.com/python/3.7.2/tutorial.html

首先先下载pymongo :python -m pip install pymongo

导入pymongo并测试连接

import pymongo
#连接mongo 
#client=pymongo.MongoClient(host='192.168.111.200' ,port=23000)
client=pymongo.MongoClient('mongodb://192.168.111.200:23000')  #集群
#指定数据库
db=client.test
#db=client["test"]
# 指定集合  每个库中有许多集合,类似于关系型数据库中的表
collection=db.students
#collection=db['students']

插入数据

插入一条数据:

#插入一条数据
student={
    'id':'2',
    'name':'ZZ1',
    'age':29,
    'gender':'male'
}
result=collection.insert_one(student)  #每条数据都有一个_id属性来唯一标识,如果没有显式指明该属性,这mongo中自动产生
print('新插入的文档的编号:',result.inserted_id)

插入多条数据:

#插入多条数据
student1={
    'id':'3',
    'name':'YY',
    'age':20,
    'gender':'male'
}
student2={
    'id':'4',
    'name':'MA',
    'age':20,
    'gender':'male'
}
result=collection.insert_many([student1,student2])  #每条数据都有一个_id属性来唯一标识,如果没有显式指明该属性,这mongo中自动产生
id1=result.inserted_ids[0]
id2=result.inserted_ids[1]
print('新插入的文档的编号:',result.inserted_ids)
print(id1,id2)

查询数据

查询一条数据:

# 查询
result=collection.find_one({'name':'ZZ' })
print(type(result))  #dict
print(result)
# 根据 _id 查
result=collection.find_one({'_id':id2 })
print(type(result))  #dict
print(result)
result=collection.find_one()    #返回第一条数据
print(type(result))  #dict
print(result)

查询多条数据:

# 查询多条数据
result=collection.find({'age':20 })
print(type(result))  #dict
for i in result:
    print(i)
#  更多条件查询
'''
$lt  <     $gt   >    $lte  <=   $gte  >=   $in   $nin   not in
'''
result=collection.find({'age':{'$gte':10} })
print(type(result))  #dict
for i in result:
    print(i)
# 功能符号
'''
$regex
$exists
$:type
...
'''
# 正则表达式
result=collection.find({'name':{'$regex':'^Z.*'} })   #以W开头的名字
print(type(result))  #dict
for i in result:
    print(i)

查询并排序:

#排序
result=collection.find().sort('name',pymongo.ASCENDING)
print([i['name']  for i in result])
# 偏移  skip()  分页
result=collection.find().sort('name',pymongo.ASCENDING).skip(0).limit(20)
for i in result:
    print(i)

更新数据

#更新
condition={'name':'ZZ1','age':29}
student1={}
student1['age']=26
result=collection.update_many(condition,{ '$set':student1 })
print(result)
print(result.matched_count,'  ',result.modified_count)

删除数据

# 删除
result=collection.delete_one( { 'name':"ZZ1" }  )
print(result.deleted_count)
# 删除
result=collection.delete_many( { 'age':{ "$lte":19 } }  )
print(result.deleted_count)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值