MongoDB常用脚本

2017-12-12

记录MongoDB日常使用到的脚本

查看今日爬虫状态

/*
* 查看今日爬虫状态
* BY: http://malu.me/
*/

var date = new Date();
var bb = date.getFullYear()+'-'+(date.getMonth()+1)+'-'+date.getDate();
function getcount(){
var collection_list = db.getCollectionInfos({"name":/BR_/}); // 列出前包含BR_的Collection
for ( var i=0;i<collection_list.length;i++ ){
table = collection_list[i]['name'];
ok = db.getCollection(table).find({'product_info': {$ne:""},"date":bb,"source":"TB"}).count();
no = db.getCollection(table).find({'product_info': "","date":bb,"source":"TB"}).count();
print(table, ok+'/'+no);
}
}
getcount();

创建唯一索引,并消除重复数据。

数字1表示userid键的索引按升序存储,-1表示userid键的索引按照降序方式存储。

> db.test.ensureIndex({"userid":1},{"unique":true,"dropDups":true}) 

注:如果存在其他键,那么删除重复会失败,需要手动删除。

聚合查询,统计重复个数

> db.runCommand({"distinct":"table_name","key":"nid"})