使用group by选项将mongo收集数据放在一行中?

时间:2018-07-11 13:32:29

标签: mongodb

我有一个这样的rdmns表

rid   revnt  rdate    rtype  rstatus
A001    bd  01-07-2018  I      B
A001    PT  01-07-2018  I      M
A001    BT  01-07-2018  I      M
A001    CT  02-07-2018  I      D
A001    DT  02-07-2018  I      D

create table test_mongo(rid varchar(10),revent varchar(10), rdate date, rtype varchar(1), rpack varchar(10));

select * from test_mongo;

insert into test_mongo values
('A001','bd','2018-07-01','I','B'),
('A001','PT','2018-07-01','I','M'),
('A001','BT','2018-07-01','I','M'),
('A001','CT','2018-07-02','I','D'),
('A001','DT','2018-07-02','I','D');

我能够在mongo集合中获取的数据,每一行都在mongo集合中带有一个预定义的ID。

现在,我需要在mongo db中编写一个查询,在该查询中,我可以基于rid(在这里rid将作为group by工作)将所有记录放在一行中(如mongo db中称为文档的文档) 然后,使用相同的查询,我可以将此记录插入一个新集合中。

预期产量

{rid:'A001',revent:'bd',rdate:'2018-07-01',rtype:'I',rpack:'B',revent:'PT',rdate:'2018-07 -01',rtype:'I',rpack:'M',revent:'BT',rdate:'2018-07-01',rtype:'I',rpack:'M',revent:'CT', rdate:'2018-07-02',rtype:'I',rpack:'D',revent:'DT',rdate:'2018-07-02',rtype:'I',rpack:'D'}

0 个答案:

没有答案