为了祖国母亲
MongoDB⾼级查询aggregate,时间差MongoDB ⾼级查询之时间差(⼀)劝学通假字
MongoDB
作文批改神器MongoDB,NoSql查询不同于关系型数据查询,聚合函数的⾼级查询需要⽤到aggregate (⼀)、简单查询
agencyNoticeMessageHistory 为集合
1. 集合查询
db.agencyNoticeMessageHistory.find();
2. 集合总数查询
packdb.agencyNoticeMessageHistory.find().count();
(⼆)、复杂查询
拉肚子能喝牛奶吗
场景1:集合中有开始时间createTime 和 结束时间updateTime 统计开始时间到结束时间的时间长。
db.agencyNoticeMessageHistory.aggregate([{
$project:{
惊涛拍岸的意思timesub:{
$subtract:["$updateTime","$createTime"]
}
}
}]);
在此结果上取出⽤时最长的数据$max,最短的数据$min,总的时间长$sum。
db.agencyNoticeMessageHistory.aggregate([{
$project:{
timesub:{
$subtract:["$updateTime","$createTime"]
}
}
},{
$group:{
"_id":"$id",
"maxcount":{阿斯哈图石林
$min:"$timesub"
}
}
}]);
(三)、复杂查询排序
db.agencyNoticeMessageHistory.aggregate([{
$project:{
timesub:{
$subtract:["$updateTime","$createTime"] }
}
},{
$group:{
"_id":"$id",
"maxcount":{
Dalida
$min:"$timesub"
}
}
},{
$sort:{
timesub:-1
}
}]);
未完待续。。。