zoukankan      html  css  js  c++  java
  • MongoDB 快速入门--中级

    索引

    ensureIndex 用来创建索引,需要注意的就是一个集合最多也就64个索引

    如果没加所有就是表扫表,速度很慢,

    当然如果索引的键有多个,就必须考虑顺序

    拓展索引

    同样的也可以为内嵌文档

    建立索引

    当然我们也可以为索引指定名称,索引呢,索引的语法就是

    db.collection.ensureIndex({字段:方向(1,-1)},
    {"name":索引名称,
     unique:boolean 是否唯一,
     dropDupes:boolean 是否删除重复
    })

    explain,himt(强制使用某个索引)

     地理空间索引

    只有满足一个键对应一个包含两个键的数组,或包含两个键的文档时就满足条件

    然后相对应的就是查询了,$near:[]

     

     聚合

     count([{query}])

    distinct去除重复的值

    group

    使用  aggregate指令

    这个聚合总体来说和SQL的聚合是差不了多少的,上图

    常用的聚合表达式:

    同时aggregate还有一个管道的概念,就是将上一次处理的结果作为下一次的参数进行处理

     

    在上面我们可以看到是先match,然后再group的,这就是一个管道,常用操作如下:

    • $project:修改输入文档的结构。可以用来重命名、增加或删除域,也可以用于创建计算结果以及嵌套文档。
    • $match:用于过滤数据,只输出符合条件的文档。$match使用MongoDB的标准查询操作。
    • $limit:用来限制MongoDB聚合管道返回的文档数。
    • $skip:在聚合管道中跳过指定数量的文档,并返回余下的文档。
    • $unwind:将文档中的某一个数组类型字段拆分成多条,每条包含数组中的一个值。
    • $group:将集合中的文档分组,可用于统计结果。
    • $sort:将输入文档排序后输出。
    • $geoNear:输出接近某一地理位置的有序文档。

    MapReduce

    db.runCommand(
     { mapreduce : 字符串,集合名,
       map : 函数,见下文
       reduce : 函数,见下文
       [, query : 文档,发往map函数前先给过渡文档]
       [, sort : 文档,发往map函数前先给文档排序]
       [, limit : 整数,发往map函数的文档数量上限]
       [, out : 字符串,统计结果保存的集合]
       [, keeptemp: 布尔值,链接关闭时临时结果集合是否保存]
       [, finalize : 函数,将reduce的结果送给这个函数,做最后的处理]
       [, scope : 文档,js代码中要用到的变量]
       [, jsMode : 布尔值,是否减少执行过程中BSON和JS的转换,默认true] //注:false时 BSON-->JS-->map-->BSON-->JS-->reduce-->BSON,可处理非常大的mapreduce,<br>                                    //true时BSON-->js-->map-->reduce-->BSON
       [, verbose : 布尔值,是否产生更加详细的服务器日志,默认true]
     }
    );

    直接上图吧:

    这里的key,values就对应了上面this.name和this.socr

     

    Hold on, everything is possible.
  • 相关阅读:
    11.2hadoop监控:日志配置、堆栈跟踪、度量和JMX
    11.1.3hadoop工具dfsadmin、fsck、数据库扫描器、均衡器
    11.1.2hadoop 安全模式
    11.1.1namenode和datanode的数据结构和格式以及镜像fsimage和编辑日志edit
    10.5 hadoop集群基准评测程序测试
    10.4 hadoop安全性kerberos安全验证和委托令牌
    零基础学习python_生成器(49课)
    安全测试5_服务端的安全漏洞(SQL注入、命令注入、文件操作类)
    安全测试4_客户端的安全漏洞(XSS、CSRF、点击劫持、URL跳转)
    零基础学习python_魔法方法(41-48课)(迭代器)
  • 原文地址:https://www.cnblogs.com/student-note/p/6193405.html
Copyright © 2011-2022 走看看