Я пытаюсь индексировать данные из mon go DB в эластичный поиск с использованием mon goose, мои документы уже существуют или, возможно, существует способ автоматической индексации всех данных без схемы, пожалуйста, помогите мне!
Это мой документ:
Это мой код узла:
const mongoose = require('mongoose');
const mongoosastic = require('mongoosastic');
mongoose.connect('mongodb://localhost:27017/landingZoneDB');
var commentsSchema=new mongoose.Schema({
joined_date:{type:String} ,
comment_date:{type:String},
comment_body:{type:String},user_link:{type:String} ,
posts_count:{type:String}, user_name:{type:String}});
var DNMAvengers_tbSchema = new mongoose.Schema({
crawl_date:{type:String}
, views:{type:String}
, replies:{type:String}
,title:{type: String}
,comments: [commentsSchema]
,link:{type: String}
,forum_title:{type: String}
,avatar_details: {avatar_name:{type: String} ,avatar_pass:{type: String}, avatar_user:{type:String}, avatar_email:{type: String} }
});
var comments = mongoose.model('comments', commentsSchema);
DNMAvengers_tbSchema.plugin(mongoosastic);
var DNMAvengers_tb = mongoose.model('DNMAvengers_tb', DNMAvengers_tbSchema)
, stream = DNMAvengers_tb.synchronize()
, count = 0;
var stream = DNMAvengers_tb.synchronize({}, {saveOnSynchronize: true})
stream.on('data', function(err, doc){
count++;
});
stream.on('close', function(){
console.log('indexed ' + count + ' documents!');
});
stream.on('error', function(err){
console.log(err);
});
Вот мой результат:
C: \ Users \ Administrator> RUN узла. js (node: 2816) DeprecationWarning: текущий синтаксический анализатор строки URL устарел и будет удален в следующей версии. Чтобы использовать новый анализатор, передайте опцию {useNewUrlParser: true} в MongoClient.connect. (узел: 2816) DeprecationWarning: текущий механизм обнаружения и мониторинга сервера устарел и будет удален в следующей версии. Чтобы использовать новый механизм обнаружения и мониторинга сервера, передайте опцию {useUnifiedTopology: true} конструктору MongoClient. проиндексировано 0 документов!