share/sharedb

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

Open

#365 aberto em 21 de abr. de 2020

Ver no GitHub
 (1 comment) (0 reactions) (0 assignees)JavaScript (449 forks)batch import
enhancementhelp wanted

Métricas do repositório

Stars
 (5.791 stars)
Métricas de merge de PR
 (Mesclagem média 19h 56m) (5 fundiu PRs em 30d)

Description

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.

Guia do colaborador