一、mongo与mysql聚合对比
SQL 操作/函数
|
mongodb聚合操作
|
where
|
$match
|
group by
|
$group
|
having
|
$match
|
select
|
$project
|
order by
|
$sort
|
limit
|
$limit
|
sum()
|
$sum
|
count()
|
$sum
|
join
|
$lookup
(v3.2 新增
|
二、mongodb常用命令
1.查找命令--find
and条件:db.col.find({key1:value1, key2:value2}).pretty()
or条件:db.col.find( { $or: [ {key1: value1}, {key2:value2} ] } ).pretty()
2.计和查询--$sum
mysql:
select sum(count) from user_wallet_records where uid=2001189 and remark='闯关成功奖励';
mongodb:
db.user_wallet_records.aggregate([
{$match: {uid:2000489,remark:'闯关成功奖励'}},
{
$group: {
_id: "$uid",
total: {$sum: {"$toDouble":"$count"}}
}
}
])
(注:$toDouble转义字符类型字段)
3. 常用命令实战
eg:
//# 查验该用户是否满足15条通关记录
db.user_wallet_records.count({appUid:6628,remark:'闯关成功奖励',accountDate:'2020-11-27'});
// 查验该用户对上级的具体贡献记录及进度
db.user_invite_activity_amount_records.find({appUid:6628});
db.user_invite_activity_amount_records.find({appUid:6628,event:'DF_BREAK_THROUGH'});
//指定条件, 删除该条数据
db.user_invite_activity_amount_records.remove({appUid:6628,event:'DF_BREAK_THROUGH'});