gpt4 book ai didi

php - Mongodb 按天聚合组(php)

转载 作者:行者123 更新时间:2023-12-04 12:52:35 25 4
gpt4 key购买 nike

我有一个文档集,看起来像这样:

{
_id: ObjectId("516eb5d2ef4501a804000000"),
accountCreated: "2013-04-17 16:46",
accountLevel: 0,
responderCount: 0
}

我想根据 accountCreated 日期(每天计数)对这些文档进行分组和计数,但由于日期也包括时间,所以我无法处理日期。这就是我所拥有的,但它会返回包括时间在内的计数,这意味着很多条目总是以 1 作为帐户。

$g = $form->mCollectionUsers->aggregate(array(
array( '$group' => array( '_id' => '$accountCreated', 'accounts' => array( '$sum' => 1 ) ) )
));

有没有办法重写日期以仅考虑日期并跳过时间?

我找到了 this example但我真的不知道如何让它适应这个例子。

最佳答案

如果 accountCreated 是一个日期,您可以这样做(我将使用 mongo shell 语法,因为我不熟悉 php 驱动程序):

db.mCollectionUsers.aggregate([
{$project :{
day : {"$dayOfMonth" : "$accountCreated"},
month : {"$month" : "$accountCreated"},
year : {"$year" : "$accountCreated"}
}},
{$group: {
_id : {year : "$year", month : "$month", day : "$day"},
accounts : { "$sum" : 1}
}}
]);

关于php - Mongodb 按天聚合组(php),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22226857/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com