zoukankan      html  css  js  c++  java
  • MongoDB进阶

    管道: 前一个的输出作为后一个的输入

    group

    按籍贯分组显示各分组总和

    db.stu.aggregate([{$group: {_id: '$hometown', count:{$sum:1}}}])

    按性别分组显示平均年龄

    ([{    $group: {_id: '$gender',coutn:{$avg:"$age"}}            }])

    根据性别分组显示名字

    ([{    $group: {_id: '$gender',coutn:{$push:"$name"}}            }])

    按性别分组取第一个

    ([{    $group: {_id: '$gender',coutn:{$first:"$age"}}            }])

    按性别分组取最后一个

    ([{    $group: {_id: '$gender',coutn:{$last:"$age"}}            }])

    没有分组,求年龄平均值

    ([{    $group: {_id: null,avg_age:{$avg:"$age"}}            }])

    按性别分组,取出所有数据:ROOT必须大写

    ([{    $group: {_id: "$gender",all_data:{$push:"$$ROOT"}}            }])

     

    match

    match的输出结果,作为group的输入

    aggregate([{$match:{hometown: {$in:['蒙古','大理']}}},{$group:{_id: '$gender', all_name :{$push:"$name"}} }])

     

    $project 投影

    $project可以配合$group使用

    aggregate([{},{$group:{_id: '$gender', all_name :{$push:"$name"}} },{$project: {_id:0, all_name:1}}])

     

    排序

    {$sort: {age: 1}}

    跳过

    {$skip : 2}

    截取

    {$limit: 2}

    拆分只能拆分列表(数组)数据,再分别显示

    {$unwind: "$age"}

     

     

    索引(explain('executionStats'))显示查询时间

    _id默认为索引,索引提高查询速度

    db.stu.ensureIndex({name:1}) 1表示为确定创建

     

    db.stu.getIndexes()

    db.stu.dropIndex()# 删除索引,但是要删除索引的命名

     

    备份

    sudo mongodump -h 192.168.118.88 -d 数据库名 -o /data/

    -h 表示ip

    -d 表示备份数据库名

    -o表示输出路径

    备份后是二进制,恢复后在MongoDB中可以查看

     

    恢复

    sudo mongorestore -h ip -d Lagou --dir /data

    -d 表示命名

    --dir 表示指定备份数据路径(也可以不写)

     

     

  • 相关阅读:
    我总结的存储过程编码规范 荣
    清空数据日志[转]
    GridView使用DataBind方法绑定数据时的分页问题[转]
    Datatable绑定GridView[转]
    javascript 刷新页面 关闭窗口[转]
    GridView和CheckBox结合[转]
    SQLServer 游标简介与使用说明[转]
    Windows Mobile 5中的新特性
    flash与后台数据交换方法整理3WebService篇
    netbeans+j2mepolish 环境下开发黑莓(BlackBerry) 程序
  • 原文地址:https://www.cnblogs.com/ppansj/p/7988388.html
Copyright © 2011-2022 走看看