MongoDB的`sort()`方法主要用于根據指定的字段對查詢結果進行排序,而不直接支持文本搜索。如果你想在MongoDB中進行文本搜索并排序,你應該結合使用`$text`查詢操作符和`sort()`方法。
以下是一個示例,展示了如何在MongoDB中使用`$text`查詢操作符進行文本搜索,并使用`sort()`方法對搜索結果進行排序:
1、首先,確保你的集合已經建立了文本索引。例如,為名為`myCollection`的集合在`title`字段上創建文本索引:
```javascript
db.myCollection.createIndex({ title: "text" });
```
2、使用`$text`查詢操作符進行文本搜索,并通過`sort()`方法對搜索結果進行排序。假設我們要搜索包含“example”這個詞的文檔,并按照相關性(默認排序方式)降序排列:
```javascript
db.myCollection.find({ $text: { $search: "example" } }).sort({ score: { $meta: "textScore" } })
```
在這個示例中,我們使用了`$text`查詢操作符來搜索包含“example”的文檔。然后,我們使用`sort()`方法對搜索結果進行排序,其中`score`字段表示文本搜索的相關性得分。通過`$meta`操作符,我們可以獲取這個得分并進行排序。
請注意,`$text`查詢操作符和文本索引是MongoDB中專門用于文本搜索的功能,而`sort()`方法則用于對查詢結果進行排序。結合使用這兩個功能,你可以實現在MongoDB中進行文本搜索并排序的需求。