代码拉取完成,页面将自动刷新
#1、使用PyMongo
import pymongo
#2、连接MongoDB
client = pymongo.MongoClient(host='localhost', port=27017)
client2 = pymongo.MongoClient('mongodb://localhost:27017/')
#3、指定数据库(tera)
db = client.tera
db2 = client2['tera']
#4、指定集合
collection = db.tera
collection2 = db['tera']
#5、插入数据
"""
#1)insert_one()会返回InsertOneResult对象,可以调用inserted_id属性,获得_id
people = {'name': 'wzw', 'age': 25,'hobby': 'code'}
result = collection2.insert_one(people)
print(result.inserted_id)
print(result)
#2)插入多条insert_many()方法;注意:通过insert_one插入后,不能再次使用insert_many()插入,对象_id会重复,导致插入报错
people2 = {'name': 'wzw2', 'age': 25,'hobby': 'code'}
people3 = {'name': 'wzw3', 'age': 25,'hobby': 'code'}
result = collection.insert_many([people2, people3])
print(result)
print(result.inserted_ids)
"""
#6、查询
#1)普通查询
result = collection.find_one({'name': 'wzw'})
print(result)
#2)通过_id来查询,需要构建objectid对象,使用bson库
from bson.objectid import ObjectId
result = collection.find_one({'_id':ObjectId('64eca04b9c52deab56c077ec')})
print(result)
#3)查询多条数据
result = collection.find({'age': 25})
print(result) #result 结果集,是一个生成器对象
for i in result:
print(i)
#7、计数
#错误:count = collection.find().count() #未成功,因为collection.find()结果集是一个Cursor,没有count()的方法
#1)方法1
result = collection.find()
count = len(list(result))
print(count)
#2)方法2
count = collection.count_documents({})
print(count)
#8、排序
print('升序')
results = collection.find().sort('name', pymongo.ASCENDING)
#结果集cursor,输出name字段排序
print([result['name'] for result in results])
print('降序')
results = collection.find().sort('name', pymongo.DESCENDING)
print([result['name'] for result in results])
#9、更新
print('==============更新')
condition = {'name': 'wzw'}
people = collection.find_one(condition)
print(people)
#更新age为28
update = {'$set': {'age': 28}} #update = {'$inc': {'age': 1}} age+1
#更新第一条匹配到的值
#result = collection.update_one(condition, update)
#更新所有匹配到的值
result = collection.update_many(condition, update)
print(collection.find_one(condition))
#匹配条数、更新条数
print(result.matched_count,result.modified_count)
#10、删除
print('==========================删除')
result = collection.delete_one({'name': 'wzw1'})
result = collection.delete_many({'name': 'wzw'})
print(result,result.deleted_count)
res = collection.find()
for i in res:
print(i)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。