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の問題だとはかなり確信していますが、以前はうまくいきました。