javascript - 如何将 mongoose 子文档分成单独的文件?

标签 javascript node.js mongodb mongoose nosql

region.server.model.js 我想要

var RegionSchema = new Schema({    
  name: {type: String},
  user: {type: Schema.ObjectId, ref: 'User'},
  bases: [BaseSchema]
});

mongoose.model('Region', RegionSchema);

在另一个名为 base.server.model.js 的文件中,我想拥有

var BaseSchema = new Schema({    
  name: {type: String},
  region: {type: Schema.ObjectId, ref: 'Region'}
});

mongoose.model('Base', BaseSchema);

它崩溃了

bases: [BaseSchema]
        ^    
ReferenceError: BaseSchema is not defined

我不知道如何在 mean.js 中关联或链接这两个文件。

谢谢!

最佳答案

您可以通过 Model#schema 访问 Mongoose 模型的模式,所以你可以这样做:

// Ensure the base model is defined first.
require('./base.server.model.js');

var RegionSchema = new Schema({    
  name: {type: String},
  user: {type: Schema.ObjectId, ref: 'User'},
  bases: [mongoose.model('Base').schema]
});

mongoose.model('Region', RegionSchema);

关于javascript - 如何将 mongoose 子文档分成单独的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25880589/

相关文章:

node.js - Typescript 版本与 Node 版本

javascript - 如何运行 Google Chrome Headless Puppeteer 代码

node.js - 无法使用对话流实现将数据添加到 firestore

mongodb - Mongo 将嵌入式文档转换为数组

MongoDB、MapReduce 和排序

mongodb - 在使用 java api 的 mongodb 版本 3 中,我们如何在查询时给出提示

javascript - 简化重复多次的对象数组的方法

javascript - 如何跟踪滚动到哪个 div 位置?

javascript - 我怎样才能得到一个普通类div的内容

javascript - 调用函数时如何按名称设置变量?