0

我的数据库具有以下类别的文档类型集合。

{
    "_id" : ObjectId("56716afa403743492828aa07"),
    "cat_name" : "watches",
    "cat_parent_id" : [
        ObjectId("56716afa403743492828aa01"),
        ObjectId("56716afa403743492828aa03")
    ]
   .........
}

我首先使用 Robomongo 创建了数据库,然后尝试使用 mongoose 获取数据并创建了以下 Schema。

var categorySchema = new Schema({
    'cat_name' : String,
    'cat_parent_id' : [{ type : mongoose.Types.ObjectId }],
    .......
});

但是当我通过以下回调获得结果时,

Categories.find(function(err,categories){........});

cat_parent_id 数组为空。

编辑:

当我用Schema.Types.ObjectId 或 String替换mongoose.Types.ObjectId时,它可以工作。任何人都可以提供原因吗?

4

1 回答 1

0

您需要为 ObjectId 类型添加引用:

var categorySchema = new Schema({
   'cat_name' : String,
   'cat_parent_id' : [{
              type: mongoose.Schema.Types.ObjectId,
              ref: 'Categories'
              }],
   .......
});
于 2015-12-21T19:12:45.563 回答