MongoDB: Approach for storing frequently modified arraysBest approach on storing/displaying sanitized...

Creating two special characters

How does electrical safety system work on ISS?

What (the heck) is a Super Worm Equinox Moon?

Why should universal income be universal?

What are some good ways to treat frozen vegetables such that they behave like fresh vegetables when stir frying them?

How much of a Devil Fruit must be consumed to gain the power?

How to convince somebody that he is fit for something else, but not this job?

How do I tell my boss that I'm quitting soon, especially given that a colleague just left this week

Is this toilet slogan correct usage of the English language?

What kind of floor tile is this?

Why does Carol not get rid of the Kree symbol on her suit when she changes its colours?

15% tax on $7.5k earnings. Is that right?

How to make money from a browser who sees 5 seconds into the future of any web page?

Why is the "ls" command showing permissions of files in a FAT32 partition?

Does "he squandered his car on drink" sound natural?

Review your own paper in Mathematics

What is the highest possible scrabble score for placing a single tile

Has the laser at Magurele, Romania reached a tenth of the Sun's power?

The Digit Triangles

Are Captain Marvel's powers affected by Thanos breaking the Tesseract and claiming the stone?

What's the name of the logical fallacy where a debater extends a statement far beyond the original statement to make it true?

Which was the first story featuring espers?

Mimic lecturing on blackboard, facing audience

What does "Scientists rise up against statistical significance" mean? (Comment in Nature)



MongoDB: Approach for storing frequently modified arrays


Best approach on storing/displaying sanitized dataBest Approach to storing chat history?Storing a music playlist, best approach?Approach to take regarding a field that is frequently re-computedstoring files on mongodbMongoDB storage of multi-dimensional arraysPreferred database solution for storing sensor dataMongoDB skipping 20 documents when storing in a variableBest approach for database designService Discovery for MongoDB













0















Need a piece of advice for storing a large number of references between Mongo entities that are frequently updated.



Some background:




  • 1 event can have 100-1000 logs.

  • 1 event can have 1-10 assets associated (assignment object).

  • Logs are created per asset per event.

  • Query pattern: find all logs by assignment (eventId and assetId).


Entities with their relations:



EVENT <-1--------------N-> LOG   
EVENT <-N--ASSIGNMENT--N-> ASSET


Mongo collections and documents:



event: { id, name, ... }
asset: { id, name, ... }
log: { id, eventId, metadata, ... }
assignment: { id, assetId, eventId, metadata, ... }


Here comes the question:




  • What is the best way to store associations between logs and assignments (events and assets)? Note that those associations are updated frequently and concurrently.


Approach 1



Store logIds in assignment entity:



assignment: { id, assetId, eventId, logIds, ... }


Approach 2



Create a separate entity for holding a single reference between log and assignment:



assignmentLog: { assignmentId, logId }




Another approach ?



Any advice will be appreciated. Thanks.









share







New contributor




Bogdan Kobylynskyi is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.

























    0















    Need a piece of advice for storing a large number of references between Mongo entities that are frequently updated.



    Some background:




    • 1 event can have 100-1000 logs.

    • 1 event can have 1-10 assets associated (assignment object).

    • Logs are created per asset per event.

    • Query pattern: find all logs by assignment (eventId and assetId).


    Entities with their relations:



    EVENT <-1--------------N-> LOG   
    EVENT <-N--ASSIGNMENT--N-> ASSET


    Mongo collections and documents:



    event: { id, name, ... }
    asset: { id, name, ... }
    log: { id, eventId, metadata, ... }
    assignment: { id, assetId, eventId, metadata, ... }


    Here comes the question:




    • What is the best way to store associations between logs and assignments (events and assets)? Note that those associations are updated frequently and concurrently.


    Approach 1



    Store logIds in assignment entity:



    assignment: { id, assetId, eventId, logIds, ... }


    Approach 2



    Create a separate entity for holding a single reference between log and assignment:



    assignmentLog: { assignmentId, logId }




    Another approach ?



    Any advice will be appreciated. Thanks.









    share







    New contributor




    Bogdan Kobylynskyi is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.























      0












      0








      0








      Need a piece of advice for storing a large number of references between Mongo entities that are frequently updated.



      Some background:




      • 1 event can have 100-1000 logs.

      • 1 event can have 1-10 assets associated (assignment object).

      • Logs are created per asset per event.

      • Query pattern: find all logs by assignment (eventId and assetId).


      Entities with their relations:



      EVENT <-1--------------N-> LOG   
      EVENT <-N--ASSIGNMENT--N-> ASSET


      Mongo collections and documents:



      event: { id, name, ... }
      asset: { id, name, ... }
      log: { id, eventId, metadata, ... }
      assignment: { id, assetId, eventId, metadata, ... }


      Here comes the question:




      • What is the best way to store associations between logs and assignments (events and assets)? Note that those associations are updated frequently and concurrently.


      Approach 1



      Store logIds in assignment entity:



      assignment: { id, assetId, eventId, logIds, ... }


      Approach 2



      Create a separate entity for holding a single reference between log and assignment:



      assignmentLog: { assignmentId, logId }




      Another approach ?



      Any advice will be appreciated. Thanks.









      share







      New contributor




      Bogdan Kobylynskyi is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.












      Need a piece of advice for storing a large number of references between Mongo entities that are frequently updated.



      Some background:




      • 1 event can have 100-1000 logs.

      • 1 event can have 1-10 assets associated (assignment object).

      • Logs are created per asset per event.

      • Query pattern: find all logs by assignment (eventId and assetId).


      Entities with their relations:



      EVENT <-1--------------N-> LOG   
      EVENT <-N--ASSIGNMENT--N-> ASSET


      Mongo collections and documents:



      event: { id, name, ... }
      asset: { id, name, ... }
      log: { id, eventId, metadata, ... }
      assignment: { id, assetId, eventId, metadata, ... }


      Here comes the question:




      • What is the best way to store associations between logs and assignments (events and assets)? Note that those associations are updated frequently and concurrently.


      Approach 1



      Store logIds in assignment entity:



      assignment: { id, assetId, eventId, logIds, ... }


      Approach 2



      Create a separate entity for holding a single reference between log and assignment:



      assignmentLog: { assignmentId, logId }




      Another approach ?



      Any advice will be appreciated. Thanks.







      database-design mongodb





      share







      New contributor




      Bogdan Kobylynskyi is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.










      share







      New contributor




      Bogdan Kobylynskyi is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.








      share



      share






      New contributor




      Bogdan Kobylynskyi is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 4 mins ago









      Bogdan KobylynskyiBogdan Kobylynskyi

      1011




      1011




      New contributor




      Bogdan Kobylynskyi is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      Bogdan Kobylynskyi is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      Bogdan Kobylynskyi is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






















          0






          active

          oldest

          votes











          Your Answer








          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "182"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });






          Bogdan Kobylynskyi is a new contributor. Be nice, and check out our Code of Conduct.










          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdba.stackexchange.com%2fquestions%2f232810%2fmongodb-approach-for-storing-frequently-modified-arrays%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          Bogdan Kobylynskyi is a new contributor. Be nice, and check out our Code of Conduct.










          draft saved

          draft discarded


















          Bogdan Kobylynskyi is a new contributor. Be nice, and check out our Code of Conduct.













          Bogdan Kobylynskyi is a new contributor. Be nice, and check out our Code of Conduct.












          Bogdan Kobylynskyi is a new contributor. Be nice, and check out our Code of Conduct.
















          Thanks for contributing an answer to Database Administrators Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdba.stackexchange.com%2fquestions%2f232810%2fmongodb-approach-for-storing-frequently-modified-arrays%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          ORA-01691 (unable to extend lob segment) even though my tablespace has AUTOEXTEND onORA-01692: unable to...

          Always On Availability groups resolving state after failover - Remote harden of transaction...

          Circunscripción electoral de Guipúzcoa Referencias Menú de navegaciónLas claves del sistema electoral en...