Javascript Meteor dynamic MongoDB系列
我们在MongoDB中有一些动态的集合,它们遵循类似“XX_YY”的模式,但也可能有数百个类似theese的集合 我们可以通过查询Javascript Meteor dynamic MongoDB系列,javascript,node.js,mongodb,meteor,Javascript,Node.js,Mongodb,Meteor,我们在MongoDB中有一些动态的集合,它们遵循类似“XX_YY”的模式,但也可能有数百个类似theese的集合 我们可以通过查询db.patterns集合中的模式来获得模式,但我不知道如何在db.patterns中找到这些模式,然后在MongoDB中查询我们想要的模式,MongoDB中的示例如下 var collections = db.patterns.find(); db.getCollection(collections[0]).find(); 如何在MeteorJS中实现这一点?您
db.patterns
集合中的模式来获得模式,但我不知道如何在db.patterns
中找到这些模式,然后在MongoDB中查询我们想要的模式,MongoDB中的示例如下
var collections = db.patterns.find();
db.getCollection(collections[0]).find();
如何在MeteorJS中实现这一点?您只需执行
新建Mongo.Collection(“XX_-YY”)
即可获得具有该名称的集合
但是,如果创建多个指向同一基础集合的Mongo.Collection
s,则可能会产生后果。我从来没有任何理由这么做,所以我不知道。但是,可以使用缓存来避免创建多个副本:
var collectionCache={};
函数getCollection(名称){
var cached=collectionCache[名称]
如果(!缓存){
cached=collectionCache[name]=new Mongo.Collection(name);
}
返回缓存;
}
我假设集合的数量是有界的,因此您不必担心缓存随着时间的推移会变得任意大。您在Meteor中具体尝试过什么吗?Mongo选择器和对象很容易操作,所以我真的不知道你的阻塞问题在哪里对于每个模式,但我不知道这是否真的是动态的,例如,当一个模式被破坏或创建一个新模式时,我不知道它会产生什么影响,或者它是否是反应性的,例如,当应用程序已经运行时,访问一个新创建的模式集合。