zoukankan      html  css  js  c++  java
  • MongoDB

    1.连接数据库
    
    import pymongo
    client = pymongo.MongoClient(host='localhost',port=27017) # client = pymongo.MongoClient('mongodb://loaclhost:27017/')
    2.指定数据库
    
    db=client.test                     #  db=client['test']

    3.指定集合
    collection
    = db.students # collection = db['students']
    4.插入数据
    
    student = {
        'id':'20170303',
        'name':'Bob',
        'age':25,
        'gender':'male'
    }
    
    result = collection.insert(student)
    print(result)       #返回_id值
    
    
    插入多条数据
    student1 = {
        'id':'20170606',
        'name':'Bob',
        'age':20,
        'gender':'male'
    }
    
    student2 = {
        'id':'20170707',
        'name':'Mike',
        'age':25,
        'gender':'male'
    }
    result = collection.insert([student1,student2])
    print(result)       #返回数据库id值
    
    目前官方推荐使用
    result = collection.insert_one(student)   插入单条记录
    result = collection.insert_many([student1,student2])   插入多条记录
    print(result.inserted_id)   返回数据库id值
    5.查询
    
    插入数据后我们可以利用 find_one() 或 find() 方法进行查询,find_one() 查询得到是单个结果,find() 则返回一个生成器对象。
    
    result = collection.find_one({'name': 'Mike'})
    print(result)
    
    对于多条数据的查询,我们可以使用 find() 方法,例如在这里查找年龄为 20 的数据
    
    results = collection.find({'age': 20})
    print(results)
    for result in results:
        print(result)
    
    查询大于20岁的
    results = collection.find({'age': {'$gt': 20}})

    results = collection.find({'name': {'$regex': '^M.*'}})    #正则匹配

    7.计数
    
    要统计查询结果有多少条数据,可以调用 count() 方法,如统计所有数据条数:
    
    count = collection.find().count()
    print(count)
    
    或者统计符合某个条件的数据:
    
    count = collection.find({'age': 20}).count()
    print(count)
    8.排序
    9.偏移
    
    10.更新
    方法一:
    condition = {'name': 'Kevin'}      #条件
    student = collection.find_one(condition)     #查询
    student['age'] = 25          #修改
    result = collection.update(condition, student) #写入  #建议用 result = collection.update(condition, {'$set': student})
    print(result)
    
    另外 update() 方法其实也是官方不推荐使用的方法,在这里也分了 update_one() 方法和 update_many() 方法,用法更加严格,第二个参数需要使用 $ 类型操作符作为字典的键名
    方法二:
    condition = {'name': 'Kevin'}
    student = collection.find_one(condition)
    student['age'] = 26
    result = collection.update_one(condition, {'$set': student})
    print(result)
    print(result.matched_count, result.modified_count)   #然后调用 matched_count 和 modified_count 属性分别可以获得匹配的数据条数和影响的数据条数。
    10.删除
    
    result = collection.remove({'name': 'Kevin'})
    print(result)
    
    另外依然存在两个新的推荐方法,delete_one() 和 delete_many() 方法
    
    result = collection.delete_one({'name': 'Kevin'})
    print(result)
    print(result.deleted_count)
    result = collection.delete_many({'age': {'$lt': 25}})
    print(result.deleted_count)
  • 相关阅读:
    USACO 6.4 章节
    USACO 6.3 章节 你对搜索和剪枝一无所知QAQ
    USACO 6.1 章节
    USACO 5.5 章节
    USACO 5.4 章节
    USACO 5.3 章节
    99乘法表
    mini整数计算器
    python爬虫-爬取天气预报内容
    python实时监控服务器性能
  • 原文地址:https://www.cnblogs.com/yzcstart/p/10899358.html
Copyright © 2011-2022 走看看