我有这样的文档:
{
"_id" : ObjectId("5dc3c093c05bd833c4258e25"),
"subscriber_id" : 4504,
"user_country" : "India",
"event" : "eventA"
},
{
"_id" : ObjectId("5dc3c093c05bd833c4258e25"),
"subscriber_id" : 4504,
"user_country" : "India",
"event" : "eventB"
}
从下面的查询中我得到:
db.collection.aggregate(
{
$project:{
_id:1,
user_country:1,
subscriber_id:1,
event:1
}
},
{
$group:{
"_id":{
"subscriber_id":"$subscriber_id",
"eventA":{
$cond:{
"if":{
"$and":[
{
"$eq":[
"$event",
"eventA"
]
}
]
},
then:1,
else:0
}
},
"eventB":{
$cond:{
"if":{
"$and":[
{
"$eq":[
"$event",
"eventB"
]
}
]
},
then:1,
else:0
}
}
}
}
},
{
$group:{
"_id":{
"subscriber_id":"$_id.subscriber_id"
},
"event_details":{
$push:{
"eventA":"$_id.eventA",
"eventB":"$_id.eventB"
}
}
}
}
);
输出:
{
"_id":{
"subscriber_id":4504
},
"event_details":[
{
"eventA":0,
"eventB":0
},
{
"eventA":1,
"eventB":0
},
{
"eventA":0,
"eventB":1
}
]
}
现在,我希望每一行具有1
值的 event 值都应放入数组,因此下一步输出应如下所示
{
"_id":{
"subscriber_id":4504
},
"event_details":[
"eventA",
"eventB"
]
}
此处eventA
和eventB
都具有值1
,因此它们都将被压入数组。
答案 0 :(得分:0)
为什么这么复杂?您只需要小组讨论即可达到所需的目的:
docker logs containerid
将输出:
2019-11-22 07:03:48.912930: I tensorflow_serving/servables/tensorflow/saved_model_warmup.cc:103]
2019-11-22 07:03:48.938568: I tensorflow_serving/model_servers/server.cc:324] Running gRPC ModelServer at 0.0.0.0:8500 ...
[warn] getaddrinfo: address family for nodename not supported
2019-11-22 07:03:48.947993: I tensorflow_serving/model_servers/server.cc:344] Exporting HTTP/REST API at:localhost:8503 ...
[evhttp_server.cc : 239] RAW: Entering the event loop ...