Сервер запущен на порту 3000.
Ошибка при создании сопоставления [mapper_parsing_exception] Нет обработчика для типа [string], объявленного в поле [category] :: {"path": "/ products /_mapping / продукт " "запрос": {}, "тело": "{\" продукт \ ": {\" свойства \ ": {\" категории \ ": {\" типа \ ": \" строка \"}, \ "имя \": {\ "типа \": \ "строка \"}, \ "цена \": {\ "типа \": \ "двойной \"}, \ "образа \": {\"Тип \": \ "строка \"}}}} " "StatusCode": 400, "ответ": "{\" ошибка \ ": {\" ROOT_CAUSE \ ": [{\" Тип \": \"mapper_parsing_exception \", \ "reason \": \ "Не указан обработчик для типа [string], объявленного в поле [category] \"}], \ "type \": \ "mapper_parsing_exception \", \ "reason \": \"Не определен обработчик для типа [строка] в поле [категория] \"}, \ "status \": 400} "}
подключен к базе данных
Индексируется 120 документов
// код
Product.createMapping(function(err, mapping){
if(err){
console.log("Error creating mapping"+ err);
}else{
console.log("Mapping Cretaed");
console.log(mapping);
}
});
var stream = Product.synchronize();
var count = 0;
stream.on('data', function(){
count++;
});
stream.on('close', function(){
console.log("Indexed " + count + "documents");
});
stream.on('error', function(err){
console.log(err);
});
Добавлен новый код, объясняющий, что такое продукт
var mongoose = require("mongoose");
var Schema = mongoose.Schema;
var mongoosastic = require("mongoosastic");
//Schema
var ProductSchema = new Schema({
category : {
type : Schema.Types.ObjectId,
ref : 'Category'
},
name : String,
price : Number,
image : String
});
ProductSchema.plugin(mongoosastic, {
hosts : [
'localhost:9200'
]
})
module.exports = mongoose.model('Product', ProductSchema);