MongoDB 查询重复手机号数量

前提对象:order

@Getter
@Setter
@Document(collection = "order")
public class Order {


/**
* 订单号
*/
@Id
private String orderId;

/**
* 手机号
*/
private String cellphone;

  /**
  * 创建时间
  */
  private Date createTime = new Date();

}

 

查询代码:

db.getCollection('order').aggregate([
{$match:{createTime:{$gt:ISODate("2019-01-01"),$lt:ISODate("2020-07-31")}}},
{ $group: { _id : '$cellphone', count: { $sum : 1 } } },
{ $match: {count: { $gt : 2} }},
{$group: { _id: null,count: { $sum: 1 }}}])

 

解释:

#此sql用户查询 该创建时间段内同一个手机号下单超过2次的次数#
# {$match:{createTime:{$gt:ISODate("2019-01-01"),$lt:ISODate("2020-07-31")}}}:可以更改创建时间的范围 #
# $match: {count: { $gt : 2} }: 大于2次#
#比较运算符:
$eq = "="
$gt (greater than ) >
$gte >= (equal)
$lt (less than) <
$lte <= (equal)
$ne (not equal) !=
$in in
$nin (not in) !in
#

posted @ 2020-08-18 14:58  Nuti  阅读(345)  评论(0编辑  收藏  举报