meteordynamicMongoDB集合
我们在MongoDB里面有一些dynamic的集合,它们遵循“XX_YY”这样的模式,但是像这样的集合可以有数百个。
我们可以通过查询db.patterns
集合中的模式来获取模式,但是我不知道如何在db.patterns
findthoose模式,然后在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变得任意大。