2016-06-25 7 views
0

私は自分のパッケージを作成しており、dburles:mongo-collection-instancesに依存する必要があります。コレクションインスタンスパッケージはMongo.Collectionオブジェクトを変更しますが、自分のカスタムパッケージ内からMongo.Collection.getAll()を使用することはできません。他のMeteorパッケージ内の他のMeteorパッケージは使用できません

var collections = Mongo.Collection.getAll(); // Doesn't work 
console.log('collections', collections); 

マイpackage.js

Package.onUse(function(api) { 
    api.versionsFrom('1.0.3.1'); 
    api.use('jquery'); 
    api.use('mongo'); 
    api.use('session'); 
    api.use('matb33:collection-hooks'); 
    api.use('dburles:mongo-collection-instances'); 
    api.use('accounts-base', ['client', 'server'], {weak: true}); 
... 
}); 
+0

パッケージコードは、コレクションが作成される前に実行される可能性が最も高いです。 'Meteor.startup'でそれを実行しようとすることはできますが、成功するかどうかはコレクションを作成するコードがいつ実行されるかによって決まります。 – MasterAM

答えて

0

ない、あなたのパッケージを構造化する方法を確認してください?私はdburlesコレクションのインスタンスを使用しますが、ここで構造物の適切な方法でされていない。

あなた package.js

Package.describe({ 
summary: 'mycollection collection', 
    name: 'mycollection:mycollection', 
    version: '0.0.1' 
}); 

Package.onUse(function (api) { 
    api.use('jquery'); 
    api.use('mongo'); 
    api.use('session'); 
    api.use('matb33:collection-hooks'); 
    api.use('dburles:mongo-collection-instances'); 
    api.use('accounts-base', ['client', 'server'], {weak: true}); 

    api.addFiles([ 
    'both.js' 
    ], ['server', 'client']); 

    api.export('MyCollection'); 
}); 

/packagefolder 
both.js 
package.js 

私はaldeedコレクションパッケージをお勧めします。..ここboth.jsデモが

MyCollection = new Mongo.Collection('mycollection'); 

Schemas = {}; 
Schemas.MyCollection = new SimpleSchema({ 
    profileId: { 
    type: String 
    }, 
    date: { 
    type: Date 
    } 
}); 

MyCollection.attachSchema(Schemas.MyCollection); 
です
関連する問題