mongodb 语法练习
官方文档:https://docs.mongodb.com/
1、聚集后进行统计,使用两个group
db.souhu_three.aggregate([ {$group:{_id:"$userId"}}, {$group:{_id:null,count:{$sum:1}}} ])
2、根据每个单独进行统计(使用allowDiskUse是因为可能内存溢出)
db.souhu_three.aggregate([ { "$group": { "_id": "$id", "distinctCount": { "$sum": 1 } }} ],{ allowDiskUse: true })
3、去重并清洗数据库
db.souhu_authur_id.aggregate([ { $group: { _id: {url: '$authorId'},count: {$sum: 1},dups: {$addToSet: '$_id'}} }, { $match: {count: {$gt: 1}} } ]).forEach(function(doc){ doc.dups.shift(); db.test_first.remove({_id: {$in: doc.dups}}); })
4、选取指定范围的数据
# limit用于限定多少条数,skip表示从哪一条开始,两者结合即可选取范围 db.souhu_page.find({},{_id:0,id:1}).limit(3).skip(0)
5、创建索引,加速查询修改
尤其是对百万级以上数据,效果很明显
# 创建以id增序的索引 db.souhu_page.createIndex({'id':1})
# 查询索引
db.souhu_page.getIndexes()
# 删除索引
db.souhu_page.drop('name':1)
未完继续补充
转载请注明:https://www.cnblogs.com/gambler/