分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

14.data.js

发布时间:2023-11-01 15:52责任编辑:董明明关键词:js
dict_data = { ???"_id":1, ???name:"王五", ???age:55, ???gender:true}db.stu.insert(dict_data)db.stu.insert({_id:1,name:"李四",age:38,gender:true,like:"????"})db.stu.insert({_id:2,name:"张三",age:48,gender:true,like:"????"})db.stu.insert({_id:3,name:"王五",age:58,gender:true,like:"????"})db.stu.insert({_id:4,name:"小红",age:18,gender:false,like:"????"})db.stu.insert({_id:5,name:"小兰",age:28,gender:false,like:"????"})db.stu.insert({_id:6,name:"小明",age:10,gender:true,like:"????"})db.stu.insert({_id:7,name:"小丽",age:30,gender:false,like:"????"})db.stu.insert({_id:8,name:"A",age:30,gender:false,like:"????"})db.stu.insert({_id:9,name:"小明",age:10,gender:true,like:"????"})db.stu.insert({_id:10,name:"小丽",age:30,gender:false,like:"????"})db.stu.find({ ???$where:function () { ???????return this.age > 20 ???}})# 聚合查询查询db.xx.aggregate( ???[ ???????{管道1}, ???????{管道2} ???])// $group ?分组; ?男女分组性别分组db.stu.aggregate([{$group:{_id:"$gender"}}])// 表达式 $sum $avg $first $last $max $min $push// 按照 写别分组 ,求年龄之和db.stu.aggregate( ???[ ???????{$group:{_id:"$gender",sumage:{$sum:"$age"}}} ???] ???)db.stu.aggregate( ???[ ???????{$group:{_id:"$gender",sumage:{$avg:"$age"}}} ???] ???)// 按照爱好分组, 求最大值 agedb.stu.aggregate([ ???{$group:{_id:"$like",max_age:{$max:"$age"}}} ???])db.stu.aggregate([ ???{$group:{_id:"$like",max_age:{$min:"$age"}}} ???])db.stu.aggregate([ ???{$group:{_id:"$like",max_age:{$first:"$age"}}} ???])db.stu.aggregate([ ???{$group:{_id:"$like",max_age:{$last:"$age"}}} ???])// 统计 这批人按性别分养的宠物db.stu.aggregate([{ ???$group:{_id:"$gender",animate:{$push:"$like"}}} ???])// $match == find; 区别在于 find 不能使用管道传递// ?宠物是小鸡的 人有哪些?db.stu.find({like:"????"})db.stu.aggregate([ ???????{$match:{like:"????"}} ???])// 求 年龄大于20; 男女年龄的平均值db.stu.aggregate([ ???{$match:{age:{$gt:20}}}, ???{$group:{_id:"$gender",avgage:{$avg:"$age"}}} ???])// $project 投影,显示的字段 显示1or true// 求年龄小于50;求按照爱好分组, 求年龄之和 求年龄平均值,; 只想看之和db.stu.aggregate([ ???{$match:{age:{$lt:50}}}, ???{$group:{_id:"$like",sumage:{$sum:"$age"},avgage:{$avg:"$age"}}}, ???{$project:{sumage:true}} ???])// $sort 排序db.stu.aggregate([{$sort:{age:-1}} ???])db.stu.aggregate([ ???{$match:{age:{$lt:50}}}, ???{$group:{_id:"$like",sumage:{$sum:"$age"},avgage:{$avg:"$age"}}}, ???{$project:{sumage:true}}, ???{$sort:{sumage:1}} ???])// ?跳过2个 显示5db.stu.aggregate( ???[ ???????{$skip:2}, ???????{$limit:5} ???])db.stu.aggregate( ???[ ???????{$limit:5}, ???????{$skip:2}, ???])// $unwind ?拆分列表; ?$push// 男女分组,之后 各自的名字有哪些db.stu.aggregate([ ???{$group:{_id:"$gender",allname:{$push:"$name"}}}, ???{$unwind:"$allname"} ???])// 年龄小于60岁,按照性别分组,取出喜欢的宠物, 拆分文档db.stu.aggregate( ???[ ???????{$match:{age:{$lt:60}}}, ???????{$group:{_id:"$gender",animate:{$push:"$like"}}}, ???????{$unwind:"$animate"} ???] ???)// 50W 的数据for (var i = 0; i <= 500000; i++) { ???????db.data.insert( ???{ ???????_id:i, ???????user:"user"+i, ???????age:i ???})}// _id ?1毫秒db.data.find({_id:333333}).explain('executionStats')// user 222毫秒 -- 1毫秒db.data.find({user:"user333333"}).explain('executionStats')// age ?227毫秒 --- 0毫秒db.data.find({age:333333}).explain('executionStats')// 设置 内容key 为id ;提高查询速度db.data.ensureIndex({user:1})db.data.ensureIndex({age:1})// 查看索引db.data.getIndexes()// 删除索引db.data.dropIndex('key_1')// 备份数据库mongodump -h 127.0.0.1:27017 -d five -o /Users/apple/Desktop/beifen // 恢复数据库mongorestore -h 127.0.0.1:27017 -d six --dir /Users/apple/Desktop/beifen/five// 导出文件mongoexport -h 127.0.0.1:27017 -d six -c stu -o data.jsonmongoexport -h 127.0.0.1:27017 -d six -c stu -o data.csv --type csv -f _id,user,age,like// 导入文件mongoimport -h 127.0.0.1:27017 ?-d seven -c stu --file data.json

14.data.js

原文地址:https://www.cnblogs.com/hankleo/p/10802818.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved