1
몽구스와 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에 관한 문제라고 확신하지만, 이전에 일하고 있었다.