所以我尝试了这个,但它没有用(在isServer上):
var tableName= "";
(...)
if (silly_cond === 1){
tableName = "Table1";
}else{
tableName = "Table2";
}
TableCol = new Mongo.Collection(tableName);
出于某种原因,我无法让它发挥作用。它似乎只接受
TableCol = new Mongo.Collection("Table1");
我们的想法是从表ID中获取tablename,并将相同的JS应用于不同的表(在不同的模板上)。我做错了什么?
答案 0 :(得分:0)
您需要在函数之外声明tableName
,否则无法看到它。
var tableName = "";
if (silly_cond === 1){
tableName = "Table1";
}else{
tableName = "Table2";
}
TableCol = new Mongo.Collection(tableName);
答案 1 :(得分:0)
我最终使用了dburles:mongo-collection-instances package。它让我通过集合名称访问任何集合。所以在我的例子中:
TableCol = new Mongo.Collection("Table1");
使用上面的包我只写了例如:
var dbvar = "Table1";
Meteor.Collection.get(dbvar).find()
这样我可以使用变量来获取集合。