zoukankan      html  css  js  c++  java
  • Mongo 搞笑学法

    数据库(database): 一个仓库,在其中可以存放集合。

    集合(collection): 概念相当于MySQL中的表,类似于一个数组,在集合中可以存放文档。

    文档(document): 文档是数据库中的最小单位,我们存储和操作的内容都是文档。

    注意:在MongoDB中,数据库和集合都不需要手动创建,当我们创建文档时,如果文档所在的集合或数据库不存在会自动创建数据库和集合。

    1. 基本指令
      show dbs/databases: 查看当前所有的数据库

    use (数据库名): 进入到指定的数据库中

    db: 显示当前所处的数据库

    show collections: 显示当前数据库中所有的集合

    limit限制记录
    limit()方法:该方法接受数字型参数,这是要显示的文档数。
    语法:>db.collection_name.find().limit(number)

    聚合,分组,计数 数字表示倍数 注意count是别名
    db.news.aggregate({$group:{_id:'source',num_tutorial:{$sum:1}}})

    db.problem.aggregate([{$group:{_id:'$event_type',count:{$sum:1}}}])
    db.problem.count()
    排序
    db.news.find().sort({_id:-1}).limit(3)

    只查“_id" 1是显示

    db.news.find({},{'_id':1}).limit(5)
    db.news.find({},{'_id':1}).limit(5).sort({'_id':-1})

    模糊查询 /外面不加引号/

    包含查询

    db.news.findOne({'title':/陆金所/})

    后面1显示指定字段,0不显示

    db.news.findOne({'title':/陆金所/},{'title':1})

    指定开头

    db.news.findOne({'title':/^陆金所/},{'title':1})

    db.platform.find().limit(5).sort({rank:1})

    db.platform.find({},{rank:1}).limit(5).sort({rank:1})
    db.platform.find({},{onlineDate:1}).limit(5).sort({onlineDate:1})

    db.user.update({'username':'微软'},{$set:{'username':'我'}})

    db.dropDatabase()
    删除orders集合的所有数据,集合还存在,索引都还存在,相当与SQ的truncate命令
    db. orders.remove({})
    删除集合 集合、索引都不存在了
    db.collection.drop()

    db.user.deleteOne({'_id':ObjectId("5c37219963fb9c1c7ccaa027")} );

    1.新建一个collection 名字为 news
    Use admin
    db.createCollection[‘news’]
    2.插入5条数据,分别为标题,作者,浏览次数,是否删除
    db.news.insertMany([{'title':'电影','author':'张三','browse':10000,'delete':false},{'title':'美女','author':'李四','browse':20000,'delete':false},{'title':'跑车','author':'张三','browse':2000,'delete':false},{'title':'动物','author':'小明','browse':10,'delete':false},{'title':'学校','author':'张三','browse':10,'delete':false}])

    db.stu.insert([{name:'Jerry',age:18, gender:'male'},{name:'Herry',age:20,gender:'female'}])
    3.查询所有记录
    db.news.find()
    db.news.find().limit()
    db.news.find().limit(0)
    4.查询一条记录
    db.news.findOne()
    db.news.find()[0]
    db.news.find().limit(1)
    5.查询作者为张三的所有记录
    db.news.find({'author':'张三'})
    6.查询作者为张三并且浏览次数大于2次的
    db.news.find({browse:{$gt:2},author:'张三'})
    7.查询作者为李四,或者浏览次数为10次的,并且没删除的记录
    db.news.find({$or:[{author:'李四'},{browse:10}],delete:false})
    8.把作者小明改成小李
    db.news.update({'author':'小明'},{$set:{'author':'小李'}})
    9.把作者张三全部改成李四
    db.news.update({author:'张三'},{$set:{author:'李四'}},{multi:true})
    updateMany
    10.删除小李的记录
    db.news.remove({author:'小李'})

    def __insert_db(self,infos,ix):
        try:
            collection = f"info_{ix}"
            client = MongoClient("localhost",27017)
            # conn = client['liepin']['infos']  # conn = client.liepin.infos
            conn = client['liepin'][collection]
            conn.drop()
            conn.insert_many(infos)
            client.close()
        except Exception as e:
            print(str(e))
  • 相关阅读:
    [Project Euler] Problem 58
    [Project Euler] Problem 59 Decrption
    [Project Euler] Problem 57
    VS2010 + WinDDK 搭建驱动开发环境
    利用C++模板特性计算各整数类型的最大最小值
    虚表的那些事儿
    ModuleNotFoundError: No module named 'pip._vendor.six'
    OpenCVPython系列之单应性查找对象理论篇
    OpenCVPython系列之背景分离
    OpenCVPython系列之Shi—tomasi拐角检测器
  • 原文地址:https://www.cnblogs.com/justblue/p/13021746.html
Copyright © 2011-2022 走看看