【问题标题】:Create dynamic collection in MongoDB using Sails.js使用 Sails.js 在 MongoDB 中创建动态集合
【发布时间】:2018-03-29 07:30:58
【问题描述】:

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

示例:

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

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

现在有什么方法可以使用 req.param('collectionName) 变量在 mongoDB 中创建动态集合?

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 感谢您的回答,您是对的。我将无法使用sails 为动态创建的表提供的集合查询。根据您的建议,我将尝试在 DB Design 中进行更改,并尝试解决属性差异化问题。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-24
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    相关资源
    最近更新 更多