2016-08-24 9 views
0

Node.jsコードでMongooseを使用して$ text searchを実行するのに成功しました。ここで私が使用したコードは次のとおりです。

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

あなたの商品を表示できますか? –

+0

{_id:57bd960dd6499fef9dad4f01、cName: 'XYZ'、cAddress: ''、__v:0、スコア:1.0073315117131936、contentSection:[]、.....} –

+0

"score"は結果に返されるフィールドです。スコア以外の文書の他のすべてのフィールドにアクセスして処理/印刷することができます。 –

答えて

1

さてさて、私は次のように何をすべきか...それを考え出した:

にconsole.log(item._doc.score)。

これはトリックを行います!

+0

ありがとう!これに関する多くの情報を見つけることができませんでした。 –

関連する問題