meteordynamicMongoDB集合

我们在MongoDB里面有一些dynamic的集合,它们遵循“XX_YY”这样的模式,但是像这样的集合可以有数百个。

我们可以通过查询db.patterns集合中的模式来获取模式,但是我不知道如何在db.patternsfindthoose模式,然后在MongoDB中查询我们想要的东西,MongoDB中的一个例子就是这样的

 var collections = db.patterns.find(); db.getCollection(collections[0]).find(); 

我怎样才能在MeteorJS中实现这一点?

你可以做new Mongo.Collection("XX_YY")来获取这个名字的集合。

但是,如果您创build了多个指向相同基础集合的Mongo.Collection ,可能会有后果。 我从来没有任何理由要这样做,所以我不知道。 但是,您可以使用caching来避免创build多个副本:

 var collectionCache = {}; function getCollection(name) { var cached = collectionCache[name] if (!cached) { cached = collectionCache[name] = new Mongo.Collection(name); } return cached; } 

我假设集合的数量是有限的,所以你不必担心随着时间的推移caching变得任意大。