使用Sails.js在MongoDB中创建动态集合

时间:2018-03-29 07:30:59

标签: node.js mongodb mongodb-query sails.js sails-mongo

我正在使用SailsJs + MongoDB API。我必须在mongoDB中创建新的集合。集合的名称将在请求参数中。

示例:

假设我想在'mongoDbDatabase'数据库中创建'Users'集合    按照要求。

 {
    "collectionName" : "Users",
    "dbName"    :"mongoDbDatabase"
    }

现在有没有办法使用req.param('collectionName)变量在mongoDB中创建动态集合?

1 个答案:

答案 0 :(得分:1)

要使用Sails提供的所有工具,您必须为计划与之交互的每个模型/集合添加代码(在启动应用程序之前)。因此,动态创建集合意味着您无法利用整个数据 - 框架风帆提供。

您确定需要动态收藏吗?为什么不按属性区分定义的集合?

如果你真的需要从Sails执行此操作,it looks like you can get access to the underlying raw mongo database

var db = AnyModel.getDatastore().manager; // the database will be as defined in config/models.js or config/connections.js

var collectionName = 'Widgets';
db.createCollection(collectionName);

// note, even if this works, something like 'Widgets.find' will not.