Mongoose: получение массива ObjectIds из коллекции

В моей базе данных есть следующий тип документов для коллекции категорий.

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

Сначала я создал базу данных с помощью Robomongo, затем пытаюсь получить данные с помощью mongoose и создал следующую схему.

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

но когда я получаю результат через следующий обратный вызов,

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

массив cat_parent_id пуст.

Редактировать:

Когда я заменяю mongoose.Types.ObjectId на Schema.Types.ObjectId или String, это работает. Кто-нибудь может указать причину этого?

1 ответ

Вам нужно добавить ссылку для типа ObjectId:

var categorySchema = new Schema({
   'cat_name' : String,
   'cat_parent_id' : [{
              type: mongoose.Schema.Types.ObjectId,
              ref: 'Categories'
              }],
   .......
});
Другие вопросы по тегам