簡體   English   中英

MongoKitten:按生成的字段排序

[英]MongoKitten : Sorting by a generated field

我正在嘗試在 MongoKitten 中創建以下 mongo 語句,這是一個快速框架。

db.pages.find( {$and: [{$text: {$search: "ebay"}} , {"lang" : "en"} ] }, {score: {$meta: "textScore"}}).sort({score:{$meta:"textScore"}})

在 swift 我有以下但是我不能讓它按生成的字段Score排序

let query: Query = [
            "$text": ["$search": "ebay" ],
            "lang" : ["$eq": "en"],
        ]

let projection: Projection = [
             "_id": .excluded,
            "url": "url",
            "$score": ["$meta" : "textScore"]
        ]

let sort : Sort = [
            "score": .descending
        ]

        let matchingEntities: CollectionSlice<Document> = try pages.find(query, sortedBy: sort, projecting: projection)

有沒有人做過這樣的事情?

嘗試使用自定義SortOrder

let query: Query = [
            "$text": ["$search": "ebay" ],
            "lang" : ["$eq": "en"]
]
let projection: Projection = [
            "_id": .excluded,
            "url": "url",
            "score": ["$meta" : "textScore"]
]
let sort : Sort = [
            "score": .custom(["$meta" : "textScore"])
]
let matchingEntities: CollectionSlice<Document> = try pages.find(query, sortedBy: sort, projecting: projection)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM