mongoDB - Consejo: cual es la mejor forma de pasar mi codigo sql a json para mongo

 
Vista:

Consejo: cual es la mejor forma de pasar mi codigo sql a json para mongo

Publicado por jaime romo (1 intervención) el 22/08/2020 18:47:47
Buenas tardes tengo una duda, son nuevo en mongodb y quiero empezar a usarla, mi pregunta es la siguiente.

El codigo SQL siguiente cual es la mejor forma de convertirlo a Json:

haciendo colecciones indidicuales como si fueran tablas y a cada coleccion agregarle un _id para relacionarlo

o crear un solo objeto gigante por cada usuario.

A continuacion les muestro el codigo SQL y abajo mi conseideracion para pasarlo a json.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
-- ----------------------------
-- Table structure for tbl_dpts
-- ----------------------------
CREATE TABLE `tbl_dpts` (
  `iddpt` smallint(6) NOT NULL AUTO_INCREMENT,
  `dpt` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`iddpt`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
 
 
INSERT INTO `tbl_dpts` VALUES ('1', 'A1');
INSERT INTO `tbl_dpts` VALUES ('2', 'A2');
INSERT INTO `tbl_dpts` VALUES ('3', 'A3');
 
 
 
 
-- ----------------------------
-- Records of tbl_usuarios
-- ----------------------------
CREATE TABLE `tbl_usuarios` (
  `idusuarios` smallint(6) NOT NULL AUTO_INCREMENT,
  `iddpt` smallint(6) DEFAULT '0',
  `nombre` varchar(20) DEFAULT NULL,
  `segundo` varchar(20) DEFAULT NULL,
  `paterno` varchar(20) DEFAULT NULL,
  `materno` varchar(20) DEFAULT NULL,
  `activo` char(1) DEFAULT '1',
  `generado` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`idusuarios`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
 
INSERT INTO `tbl_usuarios` VALUES ('1', '1', 'JAIME', '', 'FERNANDEZ', '',  '1', '2019-07-11 20:25:15');
INSERT INTO `tbl_usuarios` VALUES ('2', '2', 'JUAN', '', 'PEREZ', '',  '1', '2019-07-11 20:25:15');
INSERT INTO `tbl_usuarios` VALUES ('3', '3', 'LUIS', '', 'GOMES', '',  '1', '2019-07-11 20:25:15');
 
 
 
-- ----------------------------
-- Table structure for tbl_ingresos
-- ----------------------------
CREATE TABLE `tbl_ingresos` (
  `idingreso` int(11) NOT NULL AUTO_INCREMENT,
  `idconcep` int(6) DEFAULT '0',
  `id_dpt` int(6) DEFAULT '0',
  `date` date DEFAULT NULL,
  `paydate` date DEFAULT NULL,
  `ammount` float DEFAULT NULL,
  `interes` float DEFAULT NULL,
  `descuento` float DEFAULT NULL,
  `cantidadpagada` float DEFAULT NULL,
  `generado` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`idingreso`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
 
 
INSERT INTO `tbl_ingresos` VALUES ('1', '1', '1', '2000-01-01', '2000-01-01', '3000', '0', '0', '3000', '');
INSERT INTO `tbl_ingresos` VALUES ('1', '1', '1', '2000-02-01', '2000-02-01', '3000', '0', '0', '3000', '');
INSERT INTO `tbl_ingresos` VALUES ('1', '1', '1', '2000-03-01', '2000-03-01', '3000', '0', '0', '3000', '');
INSERT INTO `tbl_ingresos` VALUES ('1', '1', '1', '2000-04-01', '2000-04-01', '3000', '0', '0', '3000', '');
INSERT INTO `tbl_ingresos` VALUES ('1', '1', '1', '2000-05-01', '2000-05-01', '3000', '0', '0', '3000', '');
INSERT INTO `tbl_ingresos` VALUES ('1', '1', '1', '2000-06-01', '2000-06-01', '3000', '0', '0', '3000', '');
INSERT INTO `tbl_ingresos` VALUES ('1', '1', '1', '2000-07-01', '2000-07-01', '3000', '0', '0', '3000', '');
INSERT INTO `tbl_ingresos` VALUES ('1', '1', '1', '2000-08-01', '2000-08-01', '3000', '0', '0', '3000', '');
INSERT INTO `tbl_ingresos` VALUES ('1', '1', '1', '2000-09-01', '2000-09-01', '3000', '0', '0', '3000', '');
INSERT INTO `tbl_ingresos` VALUES ('1', '1', '1', '2000-10-01', '2000-10-01', '3000', '0', '0', '3000', '');
INSERT INTO `tbl_ingresos` VALUES ('1', '1', '1', '2000-11-01', '2000-11-01', '3000', '0', '0', '3000', '');
INSERT INTO `tbl_ingresos` VALUES ('1', '1', '1', '2000-12-01', '2000-12-01', '3000', '0', '0', '3000', '');
 
INSERT INTO `tbl_ingresos` VALUES ('1', '1', '2', '2000-01-01', '2000-01-01', '3000', '0', '0', '3000', '');
INSERT INTO `tbl_ingresos` VALUES ('1', '1', '2', '2000-02-01', '2000-02-01', '3000', '0', '0', '3000', '');
INSERT INTO `tbl_ingresos` VALUES ('1', '1', '2', '2000-03-01', '2000-03-01', '3000', '0', '0', '3000', '');
INSERT INTO `tbl_ingresos` VALUES ('1', '1', '2', '2000-04-01', '2000-04-01', '3000', '0', '0', '3000', '');
INSERT INTO `tbl_ingresos` VALUES ('1', '1', '2', '2000-05-01', '2000-05-01', '3000', '0', '0', '3000', '');
INSERT INTO `tbl_ingresos` VALUES ('1', '1', '2', '2000-06-01', '2000-06-01', '3000', '0', '0', '3000', '');
INSERT INTO `tbl_ingresos` VALUES ('1', '1', '2', '2000-07-01', '2000-07-01', '3000', '0', '0', '3000', '');
INSERT INTO `tbl_ingresos` VALUES ('1', '1', '2', '2000-08-01', '2000-08-01', '3000', '0', '0', '3000', '');
INSERT INTO `tbl_ingresos` VALUES ('1', '1', '2', '2000-09-01', '2000-09-01', '3000', '0', '0', '3000', '');
INSERT INTO `tbl_ingresos` VALUES ('1', '1', '2', '2000-10-01', '2000-10-01', '3000', '0', '0', '3000', '');
INSERT INTO `tbl_ingresos` VALUES ('1', '1', '2', '2000-11-01', '2000-11-01', '3000', '0', '0', '3000', '');
INSERT INTO `tbl_ingresos` VALUES ('1', '1', '2', '2000-12-01', '2000-12-01', '3000', '0', '0', '3000', '');
 
INSERT INTO `tbl_ingresos` VALUES ('1', '1', '3', '2000-01-01', '2000-01-01', '3000', '0', '0', '3000', '');
INSERT INTO `tbl_ingresos` VALUES ('1', '1', '3', '2000-02-01', '2000-02-01', '3000', '0', '0', '3000', '');
INSERT INTO `tbl_ingresos` VALUES ('1', '1', '3', '2000-03-01', '2000-03-01', '3000', '0', '0', '3000', '');
INSERT INTO `tbl_ingresos` VALUES ('1', '1', '3', '2000-04-01', '2000-04-01', '3000', '0', '0', '3000', '');
INSERT INTO `tbl_ingresos` VALUES ('1', '1', '3', '2000-05-01', '2000-05-01', '3000', '0', '0', '3000', '');
INSERT INTO `tbl_ingresos` VALUES ('1', '1', '3', '2000-06-01', '2000-06-01', '3000', '0', '0', '3000', '');
INSERT INTO `tbl_ingresos` VALUES ('1', '1', '3', '2000-07-01', '2000-07-01', '3000', '0', '0', '3000', '');
INSERT INTO `tbl_ingresos` VALUES ('1', '1', '3', '2000-08-01', '2000-08-01', '3000', '0', '0', '3000', '');
INSERT INTO `tbl_ingresos` VALUES ('1', '1', '3', '2000-09-01', '2000-09-01', '3000', '0', '0', '3000', '');
INSERT INTO `tbl_ingresos` VALUES ('1', '1', '3', '2000-10-01', '2000-10-01', '3000', '0', '0', '3000', '');
INSERT INTO `tbl_ingresos` VALUES ('1', '1', '3', '2000-11-01', '2000-11-01', '3000', '0', '0', '3000', '');
INSERT INTO `tbl_ingresos` VALUES ('1', '1', '3', '2000-12-01', '2000-12-01', '3000', '0', '0', '3000', '');
 
 
-- ----------------------------
-- Table structure for tbl_ingresos_conceptos
-- ----------------------------
CREATE TABLE `tbl_ingresos_conceptos` (
  `id_concep` int(6) NOT NULL AUTO_INCREMENT,
  `concepto` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id_concep`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
 
-- ----------------------------
-- Records of tbl_ingresos_conceptos
-- ----------------------------
INSERT INTO `tbl_ingresos_conceptos` VALUES ('1', 'MANTENIMIENTO', '2');
INSERT INTO `tbl_ingresos_conceptos` VALUES ('2', 'RENTA', '2');
INSERT INTO `tbl_ingresos_conceptos` VALUES ('3', 'VENTA', '2');
 
----------------------------------------------------------------------------------------------------

y esta seria una coleccion grande que engloba todas esas tablas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
{
    "iddpt": 1,
    "dpt": "A1",
    "user": {
        "fisrt": "Juan",
        "second": "",
        "last": "Perez",
    }
    "2020": {
        "jan": {
            "id_concep": 1,
            "date": '2020-01-01',
            "paydate": '2020-01-01',
            "ammount": 3000,
            "interes": 0,
            "desceunto": 0,
            "cantidadpagada": 3000,
            "generado": '2020-01-01'
        }
        "feb": {
            "id_concep": 1,
            "date": '2020-01-01',
            "paydate": '2020-01-01',
            "ammount": 3000,
            "interes": 0,
            "desceunto": 0,
            "cantidadpagada": 3000,
            "generado": '2020-01-01'
        }
        "mar": {
            "id_concep": 1,
            "date": '2020-01-01',
            "paydate": '2020-01-01',
            "ammount": 3000,
            "interes": 0,
            "desceunto": 0,
            "cantidadpagada": 3000,
            "generado": '2020-01-01'
        }
        "apr": {
            "id_concep": 1,
            "date": '2020-01-01',
            "paydate": '2020-01-01',
            "ammount": 3000,
            "interes": 0,
            "desceunto": 0,
            "cantidadpagada": 3000,
            "generado": '2020-01-01'
        }
        "may": {
            "id_concep": 1,
            "date": '2020-01-01',
            "paydate": '2020-01-01',
            "ammount": 3000,
            "interes": 0,
            "desceunto": 0,
            "cantidadpagada": 3000,
            "generado": '2020-01-01'
        }
        "jun": {
            "id_concep": 1,
            "date": '2020-01-01',
            "paydate": '2020-01-01',
            "ammount": 3000,
            "interes": 0,
            "desceunto": 0,
            "cantidadpagada": 3000,
            "generado": '2020-01-01'
        }
        "jul": {
            "id_concep": 1,
            "date": '2020-01-01',
            "paydate": '2020-01-01',
            "ammount": 3000,
            "interes": 0,
            "desceunto": 0,
            "cantidadpagada": 3000,
            "generado": '2020-01-01'
        }
        "aug": {
            "id_concep": 1,
            "date": '2020-01-01',
            "paydate": '2020-01-01',
            "ammount": 3000,
            "interes": 0,
            "desceunto": 0,
            "cantidadpagada": 3000,
            "generado": '2020-01-01'
        }
        "sep": {
            "id_concep": 1,
            "date": '2020-01-01',
            "paydate": '2020-01-01',
            "ammount": 3000,
            "interes": 0,
            "desceunto": 0,
            "cantidadpagada": 3000,
            "generado": '2020-01-01'
        }
        "oct": {
            "id_concep": 1,
            "date": '2020-01-01',
            "paydate": '2020-01-01',
            "ammount": 3000,
            "interes": 0,
            "desceunto": 0,
            "cantidadpagada": 3000,
            "generado": '2020-01-01'
        }
        "nov": {
            "id_concep": 1,
            "date": '2020-01-01',
            "paydate": '2020-01-01',
            "ammount": 3000,
            "interes": 0,
            "desceunto": 0,
            "cantidadpagada": 3000,
            "generado": '2020-01-01'
        }
        "dic": {
            "id_concep": 1,
            "date": '2020-01-01',
            "paydate": '2020-01-01',
            "ammount": 3000,
            "interes": 0,
            "desceunto": 0,
            "cantidadpagada": 3000,
            "generado": '2020-01-01'
        }
        "enero": {
            "id_concep": 2,
            "date": '2020-01-01',
            "paydate": '2020-01-01',
            "ammount": 3000,
            "interes": 0,
            "desceunto": 0,
            "cantidadpagada": 3000,
            "generado": '2020-01-01'
        }
 
 
    }
    "activo": 1,
    "generado": '2020-01-01',
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder