我可以将db.collection与变量一起用作集合名称吗?

时间:2017-05-18 10:34:28

标签: mongodb mongodb-query

我想为每个用户创建一个包含集合的mongodb数据库,每个集合的名称与用户名相同。

让我说我用函数获取用户名并将其保存在名为x的变量上;我可以使用:

var x = getUserName(name);
    db.createCollection(x, options);

db.x.find();
db.x.insert();

等等?

会起作用吗?或者它会寻找一个名为" x"而不是变量x的值?

2 个答案:

答案 0 :(得分:2)

您可以使用db.getCollection()

var x = getUserName(name);
db.createCollection(x, options);

db.getCollection(x).find();
db.getCollection(x).insert();

答案 1 :(得分:0)

另一种语法是使用方括号,如下所示:

var x = getUserName(name);
db.createCollection(x, options);

db[x].find();
db[x].insert();