MongoDB高级 *** 作
实验目的:
-
会用MapReduce聚合运算统计数据
-
掌握文件系统和自动增长的设置方式
-
掌握MongoDB的安全和访问控制方法
use wds db.createCollection("dizhen") mongoimport -d wds -c dizhen E:data地震数据.txt
use wds db.dizhen.find()
3.定义map函数,把经度jd和纬度wd按5度划分区域
4.定义reduce函数,按划分区域统计数量
5.使用MapReduce函数,将统计的结果存放到一个新的集合dz中
var map=function(){ var wd =parseInt(this.wd/5)*5; var jd =parseInt(this.jd/5)*5; var area =wd+":"+jd; emit(area,1); } var reduce=function(area,num){ return Array.sum(num); } db.dizhen.mapReduce(map,reduce,{out:"dz"}); db.dz.find()
题目2:使用大文件存储规范GridFS存储文档
- 在D:mongodbdata目录下创建一个文本文档qwer.txt
2.进入MongoDB安装目录bin下,找到mongofiles.exe,添加qwer文件
mongofiles -d gribfs put D:mongoDBdataqwer.txt db.fs.files.find() db.fs.chunks.find()
1.创建一个名字为”counters”的集合
2.插入文档{_id:“productid”,sequence_value:0}
3.创建函数getNextSequencevalue来作为序列名的输入,指定的序列会自动增长 1 ,并返回最新序列值
4.使用getNextSequencevalue函数创建一个新的文档,并设置文档_id自动为函数返回的序列值
5.执行命令“db.products.find()命令,验证自增长函数是否有效
db.createCollection("counters") db.counters.insertOne( {_id:"productid",sequence_value:0} ) function getNextSequencevalue(productid){ var sequencedocument = db.counters.findAndModify( { query:{_id: productid }, update: {$inc:{sequence_value:1}}, new:true }); return sequencedocument.sequence_value; } db.products.insert({ "_id":getNextSequencevalue("productid"), "product_name":"AppleiPhone", "category":"mobiles"}) db.products.insert({ "_id":getNextSequencevalue("productid"), "product_name":"SamsungS3", "category":"mobiles"}) db.products.find()
题目4:使用用户认证的方式登录MongoDB
1.进入admin数据库
2.添加一个具有管理员权限的用户admin,添加一个普通用户tester
roles:[ { role: "userAdminAnyDatabase", db: "admin" } ]
3.用show users()命令或者db.system.users.find()命令查看用户
4.使用db.auth()命令完成用户认证
5.修改admin/tester用户的密码
6.删除admin/tester用户
use admin db.createUser( { user: "wds", pwd: "cww", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } ) db.createUser( { user:"mongoTester", pwd:"orgle123", roles:[{role:"readWrite",db:"test"}, {role:"read",db:"goodMongodb"}] } ) show users 或者 db.system.users.find() db.auth("wds","cww") db.changeUserPassword("wds","admin123") db.dropUser("admin")
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)