В моей базе данных есть следующие типы документов для коллекции категорий.Mongoose: извлечение массива ObjectIds из коллекции
{
"_id" : ObjectId("56716afa403743492828aa07"),
"cat_name" : "watches",
"cat_parent_id" : [
ObjectId("56716afa403743492828aa01"),
ObjectId("56716afa403743492828aa03")
]
.........
}
Я сначала создал базу данных с Robomongo, то я пытаюсь получить данные с помощью мангуста и сформировавшихся после схемы.
var categorySchema = new Schema({
'cat_name' : String,
'cat_parent_id' : [{ type : mongoose.Types.ObjectId }],
.......
});
, но когда я получаю результат через следующий обратный вызов,
Categories.find(function(err,categories){........});
массив cat_parent_id пуст.
Edit:
Когда я заменить mongoose.Types.ObjectId с Schema.Types.ObjectId или строки, он works.Can ли предоставить основания для этого?
это не должно быть {типа: [mongoose.Types.ObjectId]}? – PeterVC
Похож на обман http://stackoverflow.com/questions/28617798/mongoose-schema-reference-and-undefined-type-objectid – JohnnyHK
Причина в том, что вам нужно использовать 'mongoose.Schema.Types' для объявления схемы свойства; 'mongoose.Types' предназначен для создания конкретных типов, но не связан с настройкой схемы. – robertklep