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'
}],
.......
});