作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在尝试检索以下数据中每个 object_name 的最早创建日期和最后修改日期
{ "_id" : ObjectId("5a510666b2e543371cff44ef"), "object_name" : "A", "username" : "user1", "created_at" : ISODate("2018-01-06T17:24:54.026Z"), "last_modified" : ISODate("2018-01-06T17:24:54.026Z") }
{ "_id" : ObjectId("5a5106e7b2e543371cff4515"), "object_name" : "A", "username" : "user1", "created_at" : ISODate("2018-01-06T17:27:03.262Z"), "last_modified" : ISODate("2018-01-06T17:27:03.262Z") }
{ "_id" : ObjectId("5a510933b2e543371cff45be"), "object_name" : "B", "username" : "user1", "created_at" : ISODate("2018-01-06T17:36:51.300Z"), "last_modified" : ISODate("2018-01-06T17:36:51.300Z") }
{ "_id" : ObjectId("5a510939b2e543371cff45c5"), "object_name" : "C", "username" : "user2", "created_at" : ISODate("2018-01-06T17:36:57.058Z"), "last_modified" : ISODate("2018-01-06T17:36:57.058Z") }
我可以通过以下管道将不同的 object_name 与每个用户名分组
pipeline := []bson.M{
{"$group": bson.M{"_id": "$username", "objects": bson.M{"$addToSet": "$object_name"}}},
}
不过,我还想为每个对象添加最早的创建日期和最近的最后修改日期。
这是我想要的输出:
[
{
"_id": "user1",
"objects": [
{
"object_name": "A",
"created_at": "2018-01-06T17:24:54.026Z",
"last_modified": "2018-01-06T17:27:03.262Z"
},
{
"object_name": "B",
"created_at": "2018-01-06T17:36:51.300Z",
"last_modified": "2018-01-06T17:36:51.300Z"
}
]
},
{
"_id": "user2",
"objects": [
{
"object_name": "C",
"created_at": "2018-01-06T17:36:57.058Z",
"last_modified": "2018-01-06T17:36:57.058Z"
}
]
}
]
我认为它与 $sort 和 $first 或 $last 有关,但我不知道如何将它们放在一起。
最佳答案
您可以尝试下面的聚合查询。
db.colname.aggregate([
{"$group":{
"_id":{
"username":"$username",
"object_name":"$object_name"
},
"created_at":{"$min":"$created_at"},
"last_modified":{"$max":"$last_modified"}
}},
{"$group":{
"_id":"$_id.username",
"objects":{
"$push":{
"object_name":"$_id.object_name",
"created_at":"$created_at",
"last_modified":"$last_modified"
}
}
}}])
关于MongoDB mgo 聚合最早创建日期和最新最后修改日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48138984/
我正在尝试将数据框中的两列转换为“良好”的日期和时间类,但到目前为止还没有取得太大成功。我尝试过各种类(timeDate、Date、timeSeries、POSIXct、POSIXlt >)但没有成功
我的 Spring Boot 应用程序中有 3 个监听器。只有一名听众应该从头开始阅读主题。如果我添加到 yml 文件中: spring.kafka.consumer.auto-offset-rese
我是 MySQL 新手。谁能告诉我这个问题的答案? 表 Requests,具有以下架构: 领域 |类型 请求编号(PK) |整数 请求日期 |日期 必填日期 |日期 接受日期 |日期 状态 |字符(1
我的 Broker 中有一个名为“test”的主题。我用 CLI 检查过。 我创建了一个 java 生产者来将消息发送到主题 test。我可以从 CLI 中使用它们。 .\kafka-console-
我是一名优秀的程序员,十分优秀!