zoukankan      html  css  js  c++  java
  • mongodb

    MONGO优缺点:
    
    1海量查询是mongo更快
    2mongo可以存储文件
    3mongo不需要定义数据结构:字段个数,字段类型【NoSQL可能更加适合初始化数据还不明确或者未定的项目中。】
    4mongo可以通过集合分片实现水平扩展,应用不用关注数据是否被分散到多个机器(sql可以垂直扩展:增加CPU、内存。分库分表)
    
    
    mongo不支持事务
    mongo不支持join
    SQL中不允许删除已经被使用的外部数据,mongo没有这种限制

    sql的弊端:

    1. 扩展困难:由于存在类似Join这样多表查询机制,使得数据库在扩展方面很艰难

    2. 读写慢:这种情况主要发生在数据量达到一定规模时由于关系型数据库的系统逻辑非常复杂,使得其非常容易发生死锁等的并发问题,所以导致其读写速度下滑非常严重

    为了进行join处理,关系型数据库不得不把数据存储在同一个服务器内,这不利于数据的分散 

     https://api.mongodb.com/python/current/api/bson/decimal128.html

    要转换为Python的Decimal类型,请使用Decimal128.to_decimal方法

    MongoClient的第一个参数host还可以直接传MongoDB的连接字符串,以mongodb开头,例如:client = MongoClient('mongodb://localhost:27017/')

    pymongo 连接配有副本集的数据库 示例::
    mongodb://数据库账户:数据库密码@52.83.139.139:59997,52.83.224.86:59998,52.83.138.55:59999/admin?replicaSet=rs0

     pymongo接口:

    插入:insert_one() insert_many()
    查找:find_one() find()
    更新:update_one() update_many()
    删除:delete_one() delete_many()

    在mygirlfriend集合中删除以 S 开头的文档数据
    myquery = { "hometown": {"$regex": "^S"} }
    x = collection.delete_many(myquery)

    符号含义示例示例含义
    $regex匹配正则{'name': {'$regex': '^M.*'}}name以M开头
    $exists属性是否存在{'name': {'$exists': True}}name属性存在
    $type类型判断{'age': {'$type': 'int'}}age的类型为int
    $mod数字模操作{'age': {'$mod': [5, 0]}}年龄模5余0
    $text文本查询{'$text': {'$search': 'Mike'}}text类型的属性中包含Mike字符串
    $where高级条件查询{'$where': 'obj.fans_count == obj.follows_count'}自身粉丝数等于关注数

  • 相关阅读:
    Final发布
    Final发布 视频展示
    Final发布 文案+美工展示
    PSP总结报告
    作业 20181204-1 每周例行报告
    对团队成员公开感谢
    作业 20181127-1 附加作业 软件工程原则的应用实例分析
    作业 20181127-2 每周例行报告
    作业 20181120-1 每周例行报告
    作业 20181113-2 每周例行报告
  • 原文地址:https://www.cnblogs.com/testzcy/p/8659786.html
Copyright © 2011-2022 走看看