美文网首页程序员
python操作mongoDB

python操作mongoDB

作者: _karen | 来源:发表于2020-08-15 12:17 被阅读0次

    MongoDB 是目前最流行的 NoSQL 数据库之一,使用的数据类型 BSON(类似 JSON)。

    PyMongo

    Python 要连接 MongoDB 需要 MongoDB 驱动,这里我们使用 PyMongo 驱动来连接。
    安装

    # 直接安装可能会timeout,以下命令分分钟安装成功
    pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple --default-timeout=100 pymongo
    

    创建数据库

    创建一个数据库

    创建数据库需要使用 MongoClient 对象,并且指定连接的 URL 地址和要创建的数据库名。

    import pymongo
    myclient = pymongo.MongoClient("mongodb://localhost:27017/") # 创建连接
    mydb = myclient["test"]  # 进入数据库
    

    注意: 在 MongoDB 中,数据库只有在内容插入后才会创建! 就是说,数据库创建后要创建集合(数据表)并插入一个文档(记录),数据库才会真正创建。

    判断数据库是否已存在

    我们可以读取 MongoDB 中的所有数据库,并判断指定的数据库是否存在:

    import pymongo
    myclient = pymongo.MongoClient('mongodb://localhost:27017/')
    dblist = myclient.list_database_names()
    # dblist = myclient.database_names()  database_names 在最新版本的 Python 中已废弃,Python3.7+ 之后的版本改为了 list_database_names()。
    if "test" in dblist:
      print("数据库已存在!")
    

    创建集合

    MongoDB 中的集合类似 SQL 的表。

    import pymongo
     myclient = pymongo.MongoClient("mongodb://localhost:27017/")
    mydb = myclient["test"]
    mycol = mydb["sites"]
    # 注意: 在 MongoDB 中,集合只有在内容插入后才会创建! 就是说,创建集合(数据表)后要再插入一个文档(记录),集合才会真正创建。
    

    判断集合是否已存在

    我们可以读取 MongoDB 数据库中的所有集合,并判断指定的集合是否存在:

    import pymongo
     myclient = pymongo.MongoClient('mongodb://localhost:27017/')
     mydb = myclient['test']
     collist = mydb. list_collection_names()
    # collist = mydb.collection_names() 注意:collection_names 在最新版本的 Python 中已废弃,Python3.7+ 之后的版本改为了 list_collection_names()。
    if "sites" in collist:   # 判断 sites 集合是否存在
      print("集合已存在!")
    

    增删改查

    import pymongo
    
    my_client = pymongo.MongoClient('mongodb://localhost:27017/')
    my_db = my_client['test']
    my_col = my_db["sites"]
    my_col.insert({"name":"zhangsan","age":18}) # 增
    my_col.find({}) # 查
    my_col.update({"name":"zhangsan"},{"$set":{"name":"lisi"}}) # 改 把zhangsan的名字改成李四
    my_col.find({}) # 查
    my_col.remove({}) # 清空集合
    my_col.drop() # 删除集合
    

    相关文章

      网友评论

        本文标题:python操作mongoDB

        本文链接:https://www.haomeiwen.com/subject/wtfadktx.html