Dans mon projet, j'utilise un paquet qui a besoin du nom de collection pour effectuer une recherche dans la collection. Je viens de migrer dans Meteor 1.3 et maintenant ce paquet ne fonctionne pas.Comment obtenir Collection en utilisant uniquement le nom de la collection dans Meteor 1.3?
Dans le package de code utiliser quelque chose comme:
const search = (collection_name) => {
let collection = this[collection_name]
...
}
Maintenant collection est pas portée globale plus. Je pourrais y ajouter ma collection en faisant global[collection_name] = Collection
dans mon lib/collections.js
, mais j'aimerais mieux réparer le paquet pour être plus flexible et compatible avec Meteor 1.3.
Est-il possible d'obtenir Mongo Collection si vous ne connaissez que le nom de collection?
Je crois que vous pouvez faire 'window [collectionName]', voir http://stackoverflow.com/a/20785981/2805154 –
Non, vous ne pouvez pas. Je veux dire que ça ne marchera pas sur le serveur, c'est pourquoi j'ai mentionné 'global'. Dans Meteor 1.3, vous devez ajouter manuellement dans l'espace global, ce qui n'est pas une bonne solution. Cela forcerait chaque créateur d'application Meteor 1.3 (qui utilise mon paquetage) à ajouter manuellement leurs collections dans l'espace global. Et l'idée principale d'utiliser des modules ES6 est d'éviter autant que possible les globals. – Jaro