MongoKitten:按生成的字段排序
MongoKitten : Sorting by a generated field
我正在尝试在 MongoKitten 中创建以下 mongo 语句,它是一个 swift 框架。
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)
我正在尝试在 MongoKitten 中创建以下 mongo 语句,它是一个 swift 框架。
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)