如何使用动态变量作为 Meteor/MongoDB 集合名称?
How do I use a dynamic variable as a Meteor/MongoDB collection name?
所以我尝试了这个但它没有用(在 isServer 上):
var tableName= "";
(...)
if (silly_cond === 1){
tableName = "Table1";
}else{
tableName = "Table2";
}
TableCol = new Mongo.Collection(tableName);
出于某种原因,我无法让它工作。好像只接受
TableCol = new Mongo.Collection("Table1");
想法是从 table ID 中获取 tablename,并将相同的 JS 应用于不同的 tables(在不同的模板上)。我做错了什么?
需要在函数外声明tableName
,否则看不到。
var tableName = "";
if (silly_cond === 1){
tableName = "Table1";
}else{
tableName = "Table2";
}
TableCol = new Mongo.Collection(tableName);
我最终使用了 dburles:mongo-collection-instances package。它让我可以通过集合名称访问任何集合。所以在我的例子中:
TableCol = new Mongo.Collection("Table1");
使用我刚才写的上面的包例如:
var dbvar = "Table1";
Meteor.Collection.get(dbvar).find()
这样我就可以使用变量来获取集合。
所以我尝试了这个但它没有用(在 isServer 上):
var tableName= "";
(...)
if (silly_cond === 1){
tableName = "Table1";
}else{
tableName = "Table2";
}
TableCol = new Mongo.Collection(tableName);
出于某种原因,我无法让它工作。好像只接受
TableCol = new Mongo.Collection("Table1");
想法是从 table ID 中获取 tablename,并将相同的 JS 应用于不同的 tables(在不同的模板上)。我做错了什么?
需要在函数外声明tableName
,否则看不到。
var tableName = "";
if (silly_cond === 1){
tableName = "Table1";
}else{
tableName = "Table2";
}
TableCol = new Mongo.Collection(tableName);
我最终使用了 dburles:mongo-collection-instances package。它让我可以通过集合名称访问任何集合。所以在我的例子中:
TableCol = new Mongo.Collection("Table1");
使用我刚才写的上面的包例如:
var dbvar = "Table1";
Meteor.Collection.get(dbvar).find()
这样我就可以使用变量来获取集合。