MongoDB数据库
pymongo安装
pip install pymongo
连接数据库
方式一client = MongoClient()方式二 指定端口和地址client = MongoClient('localhost',27017)
新增数据
from pymongo import MongoClientfrom datetime import datetimeclass TestMongo(object): def __init__(self): self.client = MongoClient('mongodb://localhost:27017/') # 也可以指定连接的集合client['admin']['students'] self.db = self.client['admin'] # print(self.client.database_names()) def add_one(self): post = {'title':'标题','content':'内容','created_at':datetime.now()} # db.students students 是表明 res = self.db.students.insert_one(post) return res def add_more(self): data_list = [{"name":"test{}".format(i)} for i in range(5)] res = self.db.students.insert_many(data_list) return resmongo = TestMongo()res = mongo.add_one()插入的IDprint(res.inserted_id)
查询数据
from bson.objectid import ObjectId查询一条数据def get_one(self): return self.db.students.find_one()查询多条数据def get_more(self): return self.db.students.find()根据记录的ID查询数据def get_from_id(self,id): return self.db.students.find_one({'_id':ObjectId(id)})查询一条数据 res = mongo.get_one()查询多条数据res = mongo.get_more()for i in res: print(i)根据记录的ID查询数据res = mongo.get_from_id('5b83e8a1b594c32e8c70c1f7')print(res)
修改数据
修改单条数据def update(self): res = self.db.students.update_one({'title':'标题'},{'$set':{'title':'title-2'}}) # 匹配的数据条数 print(res.matched_count) # 影响的数据条数。 print(res.modified_count)修改多条def update_more(self): res = self.db.students.update_many({},{'$set':{'x':1}}) print(res.matched_count) print(res.modified_count) res = self.db.students.update({'x':2},{'$set':{'x':3}},True)res = mongo.update()res = mongo.update_more()
删除数据
删除一条def delete_one(self): res = self.db.students.delete_one({'title':'title-2'}) print(res.deleted_count)删除多条def delete_more(self): res = self.db.students.delete_many({'x':2}) print(res.deleted_count)res = mongo.delete_one()res = mongo.delete_more()