• python操作MongoDB(API)


     1 from pymongo import MongoClient
     2 from datetime import datetime
     3 
     4 
     5 class TestMongo(object):
     6 
     7     def __init__(self):
     8         self.client = MongoClient()   # 连接数据库
     9         self.db = self.client['blog']   # 使用blog数据库
    10 
    11     def add_one(self):
    12         """新增数据"""
    13         post = {
    14             'title': '新的标题',
    15             'content': '博客内容。。。。',
    16             'created_at': datetime.now(),
    17             'view': 10
    18         }
    19         return self.db.blog.posts.insert_one(post)    # 数据库下的集合(表)名为 blog.posts
    20 
    21     def get_one(self):
    22         """查询一条数据"""
    23         return self.db.blog.posts.find_one()
    24 
    25     def get_more(self):
    26         """查询所有数据"""
    27         return self.db.blog.posts.find()
    28 
    29     def get_from_oid(self, oid):
    30         """根据记录的ID来获取数据"""
    31         from bson.objectid import ObjectId    # 使用ObjectID才能查询到数据
    32         return self.db.blog.posts.find_one({'_id': ObjectId(oid)})
    33 
    34     def update(self):
    35         """修改数据"""
    36         # 修改一条数据
    37         rest = self.db.blog.posts.update_one({'view': 10}, {'$inc': {'view': 1}})   # $inc将view增加1,$set会将view设置成指定值
    38         print(rest.matched_count)     # matched_count 匹配的次数
    39         print(rest.modified_count)    # modified_count 修改成功的数据条数
    40         # 修改多条数据
    41         rest = self.db.blog.posts.update_many({}, {'$inc': {'view': 10}})   # 将所有的view增加10
    42         print(rest.matched_count)
    43         print(rest.modified_count)
    44 
    45     def delete(self):
    46         """删除数据"""
    47         # 删除一条数据
    48         rest = self.db.blog.posts.delete_one({'view': 10})
    49         print(rest.deleted_count)   # deleted_count 删除成功的数据条数
    50         # 删除多条数据
    51         rest = self.db.blog.posts.delete_many({'title': '新的标题'})
    52         print(rest.deleted_count)
    53 
    54 
    55 def main():
    56     obj = TestMongo()
    57     # rest = obj.add_one()
    58     # rest = obj.get_more()
    59     # for item in rest:
    60     #     print(item)
    61     # obj.update()
    62     # obj.delete()
    63 
    64 
    65 if __name__ == '__main__':
    66     main()
  • 相关阅读:
    hdu 5918(强行水过去..正解KMP)
    hdu 5914(斐波拉契数列)
    hdu 5912(迭代+gcd)
    bzoj 2819(DFS序+树状数组+博弈+lca)
    BestCoder #88(1001 1002)
    hdu 5468(dfs序+容斥原理)
    hdu 5692(dfs序+线段树,好题)
    dfs序题目练习
    csu 1806 & csu 1742 (simpson公式+最短路)
    LuoGuP3774:[CTSC2017]最长上升子序列
  • 原文地址:https://www.cnblogs.com/zzmx0/p/12603566.html
Copyright © 2020-2023  润新知