实验5 MongoDB中使用分组、聚合和映射-归并.pdf

实验5 MongoDB中使用分组、聚合和映射-归并.pdf

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MongoDB 中使用分组、聚合和映射-归并 一、【实验目的】 1. 掌握在MongoDB 中查询文档操作。 2. 掌握在MongoDB 中查找操作匹配的文档数、限制返回的文档数、数据集分页,查找数据 集中特定字段的不同值。 3. 掌握在MongoDB 中使用分组、聚合和映射-归并框架来操作一系列文档的方法。 二、【实验原理】 1. 查询 a. Find 1)指定返回的键 db.persons.find({},{}) //第一个{}指定条件 //第二个{}指定需要返回的列 //其中id 列默认情况下会返回 _id:0 为不返回 name:1 为返回那么列 b. 分页和排序 1)分页 前几条数据 ————limit() db.persons.find().limit(5) --查询前5 条数据 前跨度数据 —————skip() db.persons.find().limit(3).skip(5) --前6~8 共三条 前面5 条省略跳过 2 )排序 ————sort() db.persons.find().limit(3).sort({name:1}) --前三行数据根据name 升序排序 -1 为倒序 db.persons.find().limit(3).sort({name:1,age:-1}) --先升序再倒序 c. 游标 var p = db.persons.find(); --得到游标 while(p.hasNext()){ --遍历游标 obj = p.next(); --指向下一条记录 print(obj) } 2. 常用函数 a. findAndModify 函数————返回集合 b. runCommand 函数————返回更新或者删除的文档 示例: ps = db.runCommand({ findAndModify:persons, query:{name:test}, update:{$set:{age:11}}, new:true }).value --findAndModify 集合名 --query 查询器 --update 修改器 --new 状态--如果true 表示返回结果是更新后的,false 为更新前 --sort 排序 c.Count 函数————计数 db.persons.find({country:USA}).count() --查询美国国籍的人数 d.Distinct 函数————去重 db.runCommand({distinct:persons,keycountry}).values --查询persons 集合中一共有多少个国家,分别是什么。 e.Group 函数————分组 db.runCommand({ group:{ ns:集合名字, Key:分组的键对象, Initial:初始化累加器, $reduce:组分解器, Condition:条件, Finalize:组完成器 } }) 说明:分组首先会按照key 进行分区,每组的每个文档全部要执行$reduce 的方法,其中参 数为:一个是组内本条记录,一个是累加器数据。 示例:请查出persons 中每个国家学生数学成绩最好的学生信息(必须在90 以上) 。 db.runCommand({ group:{ ns:persons, key:{country:true}, initial:{m:0}, $reduce:function(doc,prev){ if(doc.m prev.m){ prev.m = doc.m; prev.name = doc.name; prev.country = doc.country; } }, condition:{m:{$gt:90}} } }) 3. aggregate 聚合操作 MongoDB 的聚合操作,接受一个名为pipeline 的参数和一个可选参数。pipeline 可以理 解为流水线,一条流水线上可以有一个或多个工序。所以,mongodb

文档评论(0)

+ 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档