MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Une publication masque les champs imbriqués d'une autre publication

Ce n'est pas un bug, c'est une limitation connue de la MergeBox du météore. C'est l'un de ces problèmes déroutants qui mordent la plupart des développeurs de météores une fois.

À partir de la documentation :

Si plusieurs abonnements envoient des valeurs en conflit pour un champ (même nom de collection, ID de document et nom de champ), la valeur sur le client sera l'une des valeurs publiées, choisie arbitrairement.

Vous pouvez voir ce post pour des solutions de contournement possibles. Dans votre exemple, vous pourriez modifiez votre publication pour qu'elle ressemble à :

Meteor.publish 'fooList', ->
  Foo.find {}, fields: foo: 1, bar: 1

Cela publierait tous les bar de niveau supérieur champ qui évite le conflit mais peut ne pas être acceptable dans votre cas d'utilisation particulier.