【发布时间】:2019-11-22 17:37:23
【问题描述】:
我想根据输入将文档插入到 MongoDB 集合中。
例如如果nid = 1,那么我想将文档插入集合'One',如果nid = 2,那么我想将文档插入集合'Two'等等。
我将使用的架构
{
nid: Number,
name: String
}
我尝试在 node.js 中初始化架构,将集合名称定义为具有基于输入的值的变量。
var collVar = 'One';
var newSchema = new mongoose.Schema({
nid: Number,
name: String
},{collection: collVar});
但是,每次有新的新数据要插入 MongoDB 时,都无法定义架构。 有没有办法在不定义新架构的情况下根据输入的输入数据将数据插入到不同的集合中?
【问题讨论】:
-
我发现的一种方法是从定义的模式为每个插入创建一个新模型,其中集合名称取自输入并添加到模型创建语句中。像 var collName = 'One' var newModelSchema = mongoose.model('newModelSchema', collName, newSchema);只是想知道一个更好的解决方案。
标签: node.js mongodb mongoose collections