share/sharedb

Projection's nested fields aren't being updated when subscribing to a query

Open

#365 aperta il 21 apr 2020

Vedi su GitHub
 (1 commento) (0 reazioni) (0 assegnatari)JavaScript (449 fork)batch import
enhancementhelp wanted

Metriche repository

Star
 (5791 star)
Metriche merge PR
 (Merge medio 19h 56m) (5 PR mergiate in 30 g)

Descrizione

Created a projection as follows:

  backend.addProjection 'gameInfos', 'games',
    id: true
    testGame: true
    host: true
    classIds: true
    createdAt: true    
    mode: true
    'scenario.name': true
    'scenario.labels.publish': true
    'scenario.labels.unpublish': true
    'scenario.scenarioName': true
    'scenario.playedAt': true
    'scenario.gameCategory': true
    'scenario.gameType': true
    'scenario.password': true
    'scenario.roles': true

Subscribed to a regular query:

   $games = @model.query 'gameInfos', someQuery
   @model.subscribe $games, =>
       @model.ref '_page.games', $games
       @page.render ...

All first-level nested fields, e.g. mode, host are being reactively updated. But the specified nested fields, e.g. scenario.name are not. It will work fine if I pass just scenario: true into addProjection, i.e. all nested fields under scenario object will be updated reactively, but what if I only want a subset of the nested fields.

Guida contributor