pymongo基本用法

import pymongo

“”"------------------------------准备工作------------------------------------"""

连接数据库

client = pymongo.MongoClient(host='localhost', port=27017)
client = pymongo.MongoClient('mongodb:localhost:27017')

选择数据库

db = client.mongo
db = client['mongo']

选择集合

collection = db.students
collections = db['students']

“”"------------------------------插入数据------------------------------------"""

#插入数据,推荐使用 insert_one 和 insert_many 两个函数分别用于插入一条数据和多条数据

student = {
    'id': '20170101',
    'name': 'Jordan',
    'age': 20,
    'gender': 'male'
}
result = collection.insert_one(student)
print(result)

student1 = {
    'id': '20170102',
    'name': 'Bob',
    'age': 21,
    'gender': 'male'    
}

student2 = {
    'id': '20170103',
    'name': 'Mike',
    'age': 20,
    'gender': 'male'
}
result = collection.insert_many([student1, student2])
print(result)

“”"------------------------------查询数据------------------------------------"""

查询数据,推荐使用 find_one 和 find 函数两个函数分别用于查询一条数据和多条数据,find 返回生成器对象

result = collection.find_one({'name': 'Mike'})
print(type(result), result)

results = collection.find({'age': 20})
for r in results:
    print(r)

使用比较符号查询

"""
    $lt    小于             {'age': {'$lt': 20}}
    $gt    大于             {'age': {'$gt': 20}}
    $lte   小于等于         {'age': {'$lte': 20}}
    $gte   大于等于         {'age': {'$gte': 20}}
    $ne    不等于           {'age': {'$ne': 20}}
    $in    在范围内         {'age': {'$in': [20, 30]}}
    $nin   不在范围内       {'age': {'$nin': [20, 30]}}
"""
print(collection.find_one({'age': {'$gt': 20}}))

使用正则表达式查询

print(collection.find_one({'name': {'$regex': r'^M.*'}}))

“”"------------------------------更新数据------------------------------------"""

更新数据,推荐使用 update_one 和 update_many 更新一条或多条数据

condition = {'name': 'Mike'}
student = collection.find_one(condition)
student['age'] = 26
result = collection.update_one(condition, {'$set': student})
print(result)
print(result.matched_count, result.modified_count)

使用 $inc 更新数据

result = collection.update_one(condition, {'$inc': {'age': 20}})
print(result)
print(result.matched_count, result.modified_count)

更新多条数据

result = collection.update_many(condition, {'$inc': {'age': 20}})
print(result)
print(result.matched_count, result.modified_count)

“”"------------------------------删除数据------------------------------------"""

推荐使用 delete_one 和 delete_many 分别用来删除一条和多条数据

result = collection.delete_one({'name': 'Mike'})
print(result)
print(result.deleted_count)
result = collection.delete_many({'name': 'Bob'})
print(result)
print(result.deleted_count)
result = collection.delete_one({'age': {'$gt': 20}})
print(result)
print(result.deleted_count)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值