【问题标题】:How to add document to a collection dynamically?如何动态地将文档添加到集合中?
【发布时间】:2021-07-20 10:58:53
【问题描述】:

我正在开发会计系统,我希望用户在会计科目表中动态创建帐户,并且每当创建新帐户时,应用程序都会为该帐户创建一个新集合。 这是一个例子:

    const account = new Chart({
    name: accountName,
    category: accountCategory
});

现在创建了一个帐户并将其添加到图表集合中,但我需要为该帐户创建一个集合,我尝试调用一个新方法来创建该集合,它的工作原理是这样的

const createModel = (accountName)=>{
const newModel = mongoose.model(accountName, ledgerSchema);
}

它创建了一个模型,我可以像这样创建它后立即向它添加一个文档:

const createModel = (accountName)=>{
const newModel = mongoose.model(accountName, ledgerSchema);
const record = new accountName({
some_value: 100
});
record.save();
}

问题是,我无法创建任何文档并将其添加到该模型中,它仅在我声明和创建模型时才有效,但之后如果我尝试编写:

const record = new accountName({
some_value: 100
});
record.save();
}

在任何其他功能中或应用程序关闭后它将无法工作,它表示 accoutName 未定义。 请帮忙。

【问题讨论】:

    标签: javascript mongodb mongoose


    【解决方案1】:

    您可以重复使用创建的模型,直到连接打开。否则,您需要再次创建一个新实例。 更多详情请参考here

    【讨论】:

      猜你喜欢
      • 2020-01-05
      • 1970-01-01
      • 2019-06-04
      • 1970-01-01
      • 1970-01-01
      • 2019-06-16
      • 1970-01-01
      • 2022-01-07
      • 2018-07-22
      相关资源
      最近更新 更多