• Mongo 高级操作


    这篇主要写一下比较少见的, 却很高效的mongo操作

    一. mongo 数据的操作

    1. 查看最新插入的一条数据(按照文档在磁盘上的存储顺序进行排序)

    db.test.find().sort({$natural:-1})

    2. 查询数据显示指定列(只显示_id字段)

    db.test.find({}, {'_id':1})

    3. 查询的表名包含- (例:test-a)

    使用db.test-a.find()会报错

    db.getCollection('test-a').find()

    4. 查看reviews表共有多少不同商品名称(按照指定字段分组)

    db.reviews.distinct("product_name")

    5. 更新多条符合条件的数据(将subjects集合中所有id_status为run的数据更新为new)

    db.subjects.update({'id_status':'run'},{$set:{'id_status':'new'}},{multi:true})

    .....

    6. mongo聚合查询

    查询在指定时间段内的数据, 按照product_id分组, 并排序

    db.reviews.aggregate([
      {$match : {rate_date: {$lt: 10000000000000000, $gt: 0}}},
      {
        $group: {
          _id: {
            product_id: "$product_id"
          },
          count: {
            $sum: 1
          }
        }
      },
      {$sort:{count:-1}}
    ])

    二. mongo系统的操作

    1. 查看test数据库大小

    use test
    db.stats()

    show dbs

    2. 查看集合(表)test_a的大小

    db.test_a.dataSize()
    # db.collection.dataSize()

     3. 查看为集合分配的空间大小, 包括未使用的空间

    db.collection.storageSize()

    4. 查看集合索引大小

    db.collection.totalIndexSize()

    5.查看集合的数据和索引的大小

    db.collection.totalSize()

    6. 查看正在执行的sql的进程

    db.currentOp() 

    7. 杀死 关闭 正在执行的sql进程

    db.killOp(id)

    ....

    三. 数据库的导入和导出

    1. 导出数据

    1.导出为json格式文件:mongoexport -d <数据库名称> -c <collection名称> -o <json文件名称>
    2.导出为csv格式文件:mongoexport -d <数据库名称> -c <collection名称> --csv - f <key字段(key字段如下图所示,字段之间用逗号分隔)> - o <csv文件名称>

    2. 导入数据

    1.导入json格式文件数据: mongoimport -d <数据库名称> -c <collection名称> --file <要导入的json文件名称>
    2.导入csv格式文件数据:mongoimport -d <数据库名称> -c <collection名称> --type csv --headerline --file <csv文件名称>

    例:

    # 导出json文件
    mongoexport -d dbName -c collecTionName -o ./collecTionName.json
    # 导出collecTionName表中id_status为new的数据
    mongoexport -d dbName -c collecTionName -q"{'id_status':'new'}" -o ./collecTionName.json
    
    # 导入json文件,并更新数据(以文件中的数据为准)
    mongoimport -d dbName -c collecTionName --mode upsert --file ./collecTionName.json
    mongoimport -d dbName -c collecTionName --upsert --file ./collecTionName.json

    ... 

    好了 , 今天到这里就差不多了 , 以后再遇见高级的用法, 会不断更新的, 欢迎关注哦

     

  • 相关阅读:
    有关乞讨的人
    雪之国
    Direction
    Qt表格
    单例模式
    工作
    Qt模型model、视图view、代理
    Qt数据库sqlite
    QDateTime
    跨工程传输数据
  • 原文地址:https://www.cnblogs.com/mswei/p/11692177.html
Copyright © 2020-2023  润新知