2016-07-26 11 views
1

私はMongooseとMongoDBを使って簡単なテキスト検索をしています。私はTodoというモデルを持っています。私は索引付けされたコレクションを検索しています。たとえば、私は下の行で "coffee"という言葉のテキスト検索をしようとしています。私は上記で入れラインへ

TypeError: Invalid sort value: {score: [object Object] } 

エラーポイント:

Todo.find( 
    { $text: { $search: "coffee" }}, 
    { score: { "$meta": "textScore" }}) 
.sort({ score: { "$meta": "textScore" }}) 
.limit(20); 

これは、次のエラーが発生します。私はそれが問題の原因となっているソート方法だと確信しています。なぜなら、クエリのその部分を削除すると、私はソートされていない結果を得ることができるからです。

この問題をさらに複雑にするのは、同じコレクション内でrobomongoを使って全く同じクエリを実行し、そこで動作することです。

db.todos.find( 
    {$text: { $search: "coffee" }}, 
    {score: { "$meta": "textScore" }}) 
.sort({score: { "$meta": "textScore" }}) 
.limit(20); 

これはMongoDBとまったく同じドキュメントです。私はそれがMongooseの問題だとはかなり確信していますが、以前はうまくいきました。

答えて

1

マングースバージョンとの間違いでした。私は3.6を使用していましたが、4.4.20にアップグレードした後、動作し始めました。

関連する問題