zoukankan      html  css  js  c++  java
  • Python操作MongoDB数据库

    Python实现MongoDB数据库的增删改查

    直接上代码

    from pymongo import MongoClient
    from datetime import datetime
    from bson.objectid import ObjectId
    
    class TestMongo(object):
    
        def __init__(self):
            self.client = MongoClient()
            self.db = self.client['blog']#数据库名称,这里要求已经新建好了数据库
    
        def add_one(self):
            '''新增数据'''
            post = {
            'title':'新新的标题',
            'x':110,
            'content':'博客内容,...',
            'created_at':datetime.now()
            }
            return self.db.blog.test.insert_one(post)#blog.test是数据库中的集合名称
    
        def get_one(self):
            '''查询一条数据'''
            return self.db.blog.find_one()
    
        def get_more(self):
            '''查询多条数据'''
            return self.db.blog.find()#可以加条件
    
    
        def get_from_oid(self,oid):
            '''根据记录的ID来获取数据'''
            obj = ObjectId(oid)
            return self.db.blog.find_one({'_id':obj})
    
        def update(self):
            '''修改数据'''
            # 修改一条数据
            rest = self.db.blog.update_one({'x':14},{'$inc':{'x':10}})
            #return rest
            # 修改多条数据
            return self.db.blog.update_many({},{'$inc':{'x':8}})
    
        def delete(self):
            '''删除数据'''
            #删除一条数据
            #return self.db.blog.delete_one({'x':53})
            #删除多条数据
            return self.db.blog.delete_many({'x':56})
    
    def main():
        obj = TestMongo()
    
        rest = obj.add_one()
        #rest1 = obj.get_one()
        #rest2 = obj.get_more()
        print(rest)
        '''
        for item in rest2:
            print(item["_id"])
            '''
        
        #rest3 = obj.get_from_oid('5a9a638f11e67a4c5cad7331')
        #print(rest3)
        
        #rest4 = obj.update()
        #print(rest4.matched_count)
        #print(rest4.modified_count)
    
        rest5 = obj.delete()
        print(rest5.deleted_count)
    
    if __name__ == '__main__':
        main()
    人生苦短,何不用python
  • 相关阅读:
    优秀大整数
    洛谷—— P3908 异或之和
    洛谷—— P1869 愚蠢的组合数
    洛谷—— P1680 奇怪的分组
    洛谷—— P1609 最小回文数
    Something I like
    数学相关
    新博客测试中~
    P3369 【模板】普通平衡树
    2017 11.6 NOIP模拟赛
  • 原文地址:https://www.cnblogs.com/yqpy/p/8496791.html
Copyright © 2011-2022 走看看