2016-06-25 5 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 수집 인스턴스를 사용하지만, 여기에 적절한 구조의 방법입니다하지 않은 :에서

/packagefolder 
both.js 
package.js 

당신의 package.js 내가 수집 패키지 aldeed 권장

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'); 
}); 

은 .. 여기 both.js 데모

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

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

MyCollection.attachSchema(Schemas.MyCollection); 
입니다
관련 문제