zoukankan      html  css  js  c++  java
  • MongoDB数据库笔记

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

    例:创建一个数据库,判断数据库是否存在

    import pymongo
    
    #创建一个新数据库
    myclient = pymongo.MongoClient('mongodb://localhost:27017/')
    mydb = myclient["runoobdbd"]
    
    
    #判断指定数据库是否存在
    dblist = myclient.list_database_names()
    if "runoobdb" in dblist:
        print("数据库已存在!")
        
    

    2、MongoDB 使用数据库对象来创建集合

    import pymongo
     
    #创建一个集合
    myclient = pymongo.MongoClient("mongodb://localhost:27017/")
    mydb = myclient["runoobdb"]
     
    mycol = mydb["sites"]
    
    #判断集合是否存在
    collist = mydb. list_collection_names()
    if "sites" in collist: 
      print("集合已存在!")

    3、增删查改等操作

    (1)增:插入集合  集合中插入文档使用 insert_one() 方法,该方法的第一参数是字典 name => value 对

    import pymongo
    myclient = pymongo.MongoClient("mongodb://localhost:27017/")
    mydb = myclient["runoobdb"]
    mycol = mydb["sites"]
    mydict = {"name":"RUNOOB","alexa":"10000","url":"https://www.runoob.com"}
    
    x =mycol.insert_one(mydict)
    print(x)
    print(x)
    

    当插入多个文档时,使用 insert_many() 方法,和插入一个文档类似,mydict  中写入多个字典。

    返回 _id 字段是指insert_one() 方法返回 InsertOneResult 对象,该对象包含 inserted_id 属性,它是插入文档的 id 值。即数字。

    (2)删:删除数据   使用 delete_one() 方法来删除一个文档,该方法第一个参数为查询对象,指定要删除哪些数据。

    例:

    import pymongo
     
    myclient = pymongo.MongoClient("mongodb://localhost:27017/")
    mydb = myclient["runoobdb"]
    mycol = mydb["sites"]
     
    myquery = { "name": "Taobao" }
     
    mycol.delete_one(myquery)
     
    for x in mycol.find():
      print(x)
    

     

    使用 delete_many() 方法来删除多个文档,delete_many() 方法如果传入的是一个空的查询对象,则会删除集合中的所有文档:mycol.delete_many({}

    使用 drop() 方法来删除一个集合,即 mycol.drop() 若删除成功则返回 true,失败(集合不存在)则返回 false。

    (3)查:查询数据  使用了 find find_one 方法来查询集合中的数据

    (4)改:使用 update_one() 方法修改文档中的记录 

    (5)排序:运用 sort() 方法可以指定升序或降序排序,sort() 方法第一个参数为要排序的字段,第二个字段指定排序规则,1 为升序,-1 为降序,默认为升序

    即  mydoc = mycol.find().sort("alexa", -1)

      

  • 相关阅读:
    根据excel的文件的路径提取其中表的数据到DataSet中 .
    查询SQL Server数据库中的用户表的数量的问题
    C#获取键盘和鼠标操作的时间的类
    使用消息来处理多线程程序中的一些问题
    多线程程序写日志时遇到加锁的问题
    android之横向滚动图
    android listview的一些设置
    android之异步任务
    android之隐式intent调用
    android之广播
  • 原文地址:https://www.cnblogs.com/deng11/p/12961004.html
Copyright © 2011-2022 走看看