mongdb常用增删改查、统计、导出、备份

初学mongdb,以下内容不断更新

一、查询

1、根据source_id查询对应的数据源

db.getCollection('source').find({"source_id":1301052}).pretty()

2、根据条件查询所需要的字段

db.getCollection('source').find({"categories":99},{source_id:1,source_name: 1,url: 1,categories:1,source_type:1}).pretty();

3、查询source_id为给定一些值的数据

db.getCollection('source').find({source_id:{$in:[1,2,3,4,5,6,7,8,9,10]}})

4、查询某一时间段的的内容抓取量

db.newsContent.find({ "createtime" : { "$gte" : NumberLong(1534089600000)
, "$lt" : NumberLong(1534176000000) } }).count();

5、根据内嵌数据当作条件查询

{
    "_id" : ObjectId("5704d8a8c4248f37e06e6aad"),
    "className" : "com.caishi.capricorn.crawler.dal.model.WebSource",
    "source_id" : 93906,
    "target_id" : 0,
    "deleted" : false,
    "mode" : "normal",
    "type" : 0,
    "enabled" : false,
    "crawl_status" : "Stopped",
    "crawl_process_status" : {
        "uuid" : "93906",
        "leftPageCount" : 0,
        "totalPageCount" : 1,
        "errorPageCount" : 0,
        "successPageCount" : 0,
        "downloaderExceptionCount" : 0,
        "skipExceptionCount" : 1,
        "extractExceptionCount" : 0,
        "pipelineExcepionCount" : 0,
        "status" : "Stopped",
        "threadCount" : 0,
        "startTime" : ISODate("2018-08-27T09:16:00.010Z"),
        "pagePerSecond" : 0,
        "stopTime" : ISODate("2018-08-27T09:16:12.532Z")
    },
    "user_id" : 0,
    "createtime" : ISODate("2016-04-06T09:36:40.893Z"),
    "name" : "千龙网·文化即时新闻",
    "description" : "by dws",
    "updatetime" : ISODate("2017-01-20T07:17:43.555Z"),
    "categories" : [ 
        99.0
    ],
    "tags" : [ 
        ""
    ],
    .......................略
db.getCollection('source').find({"crawl_process_status.successPageCount":0,"enabled":true,"crawl_process_status.startTime":
    {$gte : ISODate("2018-08-26T00:00:00.020Z")}}).count();

二、删除

##三、修改 ##

1、根据主键批量修改

db.getCollection('source').update(
{source_id:{$in:[91178,
5184,
18660,
93953
]}}, //query
{$set:{'enabled': false}},// update 
{multi:true,upsert:false} // 批量更新
)

四、统计(聚合查询)


1、统计每天数据量少的新闻,并根据统计结果排序:
db.newsContent.aggregate([
      {
      $match:{
          createtime:{$gt : NumberLong(1534089600000),$lt : NumberLong(1534176000000)}
          }
       },
      {
      $group: {
        _id : "$sourceId",//根据sourceId分组
        number : {$sum : 1},
            }
    },
    {
     $match:{
            "number" : { $lt : 5}        
            }
    },
    {
     $sort:{
            number:-1
           }
    } 
   
])

五、导出

1、导出命令 进入测试mong服务器


执行导出命令:
mongoexport -h 192.168.0.226:27017 -u source -p source -d source -c source  -q '{source_id:{$in:[1301806,1301807,1301808]}}' -o /opt/dump.json

2、备份

进入正式mongo服务器
-u:用户名
-p:密码
-d:数据库
-c:表
执行备份正式:
 mongodump -h 10.2.113.4:27027 -u source -p source -d source -c source -o /opt

3、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值