gpt4 book ai didi

java - 获取小于和大于的 mongodb 数组计数

转载 作者:可可西里 更新时间:2023-11-01 10:41:04 27 4
gpt4 key购买 nike

我正在尝试在排列内容日期小于和大于我给出的特定输入的所有文档中获取数组计数。我以多种方式编辑了以下查询,但没有一种不会得到我预期的结果。

db.user_log.aggregate(
{$match: {"user_id" : "2"}},
{$unwind: "$meta_data.access_times"},
{$group: {_id: "$user_id", number: {$sum: 1 }}}
)

上面的查询给出了所有文档中给定 user_id 的数组计数总和。结果如下。

{
"_id" : "2",
"number" : 26.0
}

如何在上述查询中使用 gt 和 lt?

我的数组 -

"access_times" : [ 
ISODate("2017-02-25T07:02:31.935Z"),
ISODate("2017-03-25T07:02:39.817Z")
],

我将为 mongo 终端和 java 制作这个数组

最佳答案

Mongo终端查询

db.user_log.aggregate(
{$unwind: '$meta_data.access_times'},
{$match: {"user_id" : "2", "meta_data.access_times" : { $gt : ISODate("2017-03-23T00:00:00.000Z"), $lt : ISODate("2017-03-24T00:00:00.000Z")}}},
{$group: {_id: null, 'sum': { $sum: 1}}},
{$group: {_id: '$_id', total_sum: {'$sum': '$sum'}}}
)

关于java - 获取小于和大于的 mongodb 数组计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43013384/

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