zoukankan      html  css  js  c++  java
  • Python学习笔记_03:简单操作MongoDB数据库

    目录

    1. 插入文档

    2. 查询文档

    3. 更新文档

    4. 删除文档

     


    1. 插入文档

    # -*- coding: UTF-8 -*-
    import datetime
    from pymongo import MongoClient
    client = MongoClient()
    
    db = client.book
    
    user = {"name": "daming12",
             "pwd": "asdf33",
             "tags": ["mongodb11", "python11", "pymongo11"],
             "date": datetime.datetime.utcnow()}
    
    users = db.user
    user_id = users.insert_one(user).inserted_id
    print ("user id is ", user_id)

    打开MongoBooster查看book数据库中user集合中所有文档信息:

    执行插入操作后,控制台输出信息:

     


    2. 查询文档

    查询出当前数据库中所包含的所有集合:

    # -*- coding: UTF-8 -*-
    import datetime
    from pymongo import MongoClient
    client = MongoClient()
    
    db = client.book
    cur_collection = db.collection_names(include_system_collections=False)
    
    print("cur_collection is :", cur_collection)

     控制台输出信息:

     

    查询数据库集合中具体文档信息:

    # -*- coding: UTF-8 -*-
    import datetime
    from pymongo import MongoClient
    client = MongoClient()
    
    db = client.book
    users = db.user
    #查询全部
    for i in users.find():
        print(i)
    #查询name=liuzhen的
    for i in users.find({"name":"liuzhen"}):
        print(i)
    # 查询name=daming的
    print(users.find_one({"name":"daming"}))

    控制台输出信息:

     


    3. 更新文档

    更新操作语法模板:

    Collection.update(
    
       <query>,    #查询条件
    
       <update>,    #update的对象和一些更新的操作符   {
    
         upsert: <boolean>,    #如果不存在update的记录,是否插入
    
         multi: <boolean>,        #可选,mongodb 默认是false,只更新找到的第一条记录
    
         writeConcern: <document>    #可选,抛出异常的级别。   }
    
    )

    具体更新操作示例:

    # -*- coding: UTF-8 -*-
    import datetime
    from pymongo import MongoClient
    client = MongoClient()
    
    db = client.book
    users = db.user
    
    print users.find_one({"name":"liuzhen"})
    users.update({"name":"liuzhen"},{'$set':{"pwd":"98765432d1"}})
    print users.find_one({"name":"liuzhen"})

    控制台输出信息:

     


    4. 删除文档

    删除操作语句模板:

    Collection.remove(
    
       <query>,    #(可选)删除的文档的条件   {
    
         justOne: <boolean>,    #(可选)如果设为 true 或 1,则只删除一个文档
    
         writeConcern: <document>    #(可选)抛出异常的级别   }
    
    )

    具体删除操作示例:

    # -*- coding: UTF-8 -*-
    import datetime
    from pymongo import MongoClient
    client = MongoClient()
    
    db = client.book
    users = db.user
    
    print "删除前,集合user中所有文档信息:"
    #查询全部
    for i in users.find():
        print(i)
    #删除name=lisi的全部记录
    users.remove({'name': 'daming'})
    
    #删除name=lisi的某个id的记录
    id = users.find_one({"name":"liuzhen"})["_id"]
    users.remove(id)
    print "删除后,集合user中所有文档信息:"
    #查询全部
    for i in users.find():
        print(i)
    #删除集合里的所有记录
    #db.users.remove()

     控制台输出信息:

     

    参考资料:

    1.Python连接MongoDB操作

    2.python操作MongoDB

  • 相关阅读:
    Unity Shader 绘制点直线网格等基本图形
    Unity Shader 一个最简单的顶点/片元着色器
    Unity Shader 在表面着色器中控制顶点变换
    对 Unity 颠球动作的实现
    Access denied for user 'root'@'localhost'
    在centos卸载mysql
    Error:No suitable device found: no device found for connection "System eth0"
    VMware虚拟机桥接方式与真实主机共享上网
    网易的一道笔试题的参考解法---关于广告牌投放问题
    ActionScript的for循环
  • 原文地址:https://www.cnblogs.com/liuzhen1995/p/7771014.html
Copyright © 2011-2022 走看看