Как оптимизировать mongodb - PullRequest
0 голосов
/ 11 января 2020

Я пытаюсь оптимизировать проект интерактивной доски группы, в котором используется PAPER. js вместе с базой данных sqlite

Сейчас у нас огромные запросы для сбора информации, и каждый раз, когда кто-то др aws обновляет ее весь этот объект ..

Я изменяю проект, чтобы обновить только то, что действительно нужно, и я изменил нашу базу данных на Mon go ...

, вот пример что сохраняется в БД

[
    {
        "_id": "5e18f03ef0401a4bf003e356",
        "room": 111,
        "project": [
            [
                "Layer",
                {
                    "name": "page-5",
                    "applyMatrix": true,
                    "data": {
                        "aspectRatio": 0.707
                    },
                    "children": [
                        [
                            "Path",
                            {
                                "name": "2:162",
                                "applyMatrix": true,
                                "segments": [
                                    [
                                        -156.5247,
                                        -247.75487
                                    ],
                                    [
                                        -158.05878,
                                        -247.75487
                                    ]
                                ],
                                "strokeColor": [
                                    0.2902,
                                    0.52549,
                                    0.9098
                                ],
                                "strokeWidth": 2
                            }
                        ],
                        [
                            "Path",
                            {
                                "name": "2:3",
                                "applyMatrix": false,
                                "segments": [
                                    [
                                        66
                                    ],
                                    [
                                        -6,
                                        -6.88
                                    ]
                                ],
                                "strokeColor": [
                                    0.2902,
                                    0.52549,
                                    0.9098
                                ],
                                "strokeWidth": 2
                            }
                        ]
                    ]
                }
            ]
        ],
        ETC....

Это пример моего мон go кода обновления для записи, когда пользователи рисуют

app.post("/api/draw", function(req, res, next) {
  const { room, newPath, newHistory } = req.body;

  mongo.connect(url, options).then(db => {
    dbo = db.db(dbName);
    dbo
      .collection("user-data")
      .updateOne(
        { room: +room },
        { $push: { "project.0.1.children": newPath } },
        function(err) {
          if (err) res.sendStatus(500);
          // res.send('Added Path')
          db.close();
        }
      );
});

Есть предложения по улучшению производительности?

...