2016-08-24 6 views
0

Мне удалось запустить текстовый поиск с использованием Mongoose в коде Node.js. Вот код, который я использовал:

Model.find( 
    { $text : { $search : "FindThisString"}}, 
    { score : {$meta : "textScore"}} 
) 
.sort({ score : { $meta : 'textScore'}}) 
.exec(function(err, results) { 
    _.each(results, function(item) { 
     //console.log(item); 
     console.log(item._id); 
     console.log(item.score); 
    }); 
}); 

Когда я утешаю войти весь документ, я могу видеть «забитые» поле в на консоли, но «item.score» печатает как «неопределенные».

Как получить доступ к счету, созданному MongoDB в результатах?

+0

Вы можете показать свой товар? Как это выглядит, когда вы делаете 'console.log (item)' –

+0

{_id: 57bd960dd6499fef9dad4f01, cName: 'XYZ', cAddress: '', __v: 0, оценка: 1.0073315117131936, contentSection: [], .....} –

+0

«оценка» - это поле, возвращенное в результатах. Я могу получить доступ ко всем другим полям документа и обработать/распечатать их, за исключением оценки. –

ответ

1

Хорошо, я понял это ... то, что должно быть сделано следующим образом:

console.log (item._doc.score);

Это сделает трюк!

+0

Спасибо! Не удалось найти много информации об этом. –