【问题标题】:Undefined type of nested schema for mongoose未定义的猫鼬嵌套模式类型
【发布时间】:2014-08-04 11:34:45
【问题描述】:

我已经建立了一个包含文档的数据库(使用C# 驱动程序):

{
  _id: ObjectID('xxxxxxx'),
  var: 10,
  data: {
           _id: ObjectID('yyyyyyy'),
           data_var1: 11,
           data_var2: 12
        }
}

我正在尝试使用Mongoose 来设计它:

var MyDataType = new Schema({
  _id: ObjectID,
  data_var1: Number,
  data_var2: Number
});

var schema = new Schema({
  _id: ObjectID,
  var: Number,
  data: MyDataType
});

但是,我有这个错误:

TypeError:MyDataType 处的未定义类型

您尝试过嵌套模式吗?您只能使用 refs 或数组进行嵌套。

从错误信息来看,似乎不能像我一样使用模式,我必须使用引用(然后使用猫鼬的填充函数)或数组。由于我的数据库,我无法使用数组。我不能使用任何一个引用,因为 MyDataType 没有自己的集合,而是一个嵌入式文档。

有没有办法在我的数据库中使用它?

注意:对于我的 C# 驱动程序,schemaMyDataType 是类

【问题讨论】:

    标签: node.js mongodb mongoose


    【解决方案1】:

    你必须在一个 Mongoose 模式中定义它:

    var schema = new Schema({
      _id: ObjectID,
      var: Number,
      data: {
        _id: ObjectID,
        data_var1: Number,
        data_var2: Number
      }
    });
    

    【讨论】:

      猜你喜欢
      • 2021-08-19
      • 2018-06-23
      • 2013-09-22
      • 2019-03-22
      • 2019-12-27
      • 2015-01-06
      • 2014-06-22
      • 2015-09-21
      • 2021-06-07
      相关资源
      最近更新 更多