初学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、