gpt4 book ai didi

MongoDB - 如何根据匹配字段对查找进行排序?

转载 作者:行者123 更新时间:2023-12-02 00:31:09 24 4
gpt4 key购买 nike

在我的 Mongo 数据库中,我有两个集合 — speakersspeeches,我可以使用以下方法“加入”它们(获取演讲者的演讲)代码块:

// I've already found the 'speaker' in the database
db.collection('speakers').aggregate([{
$match: { "uuid": speaker.uuid } },
{ $lookup: {
from: "speeches",
localField: "uuid",
foreignField: "speaker_id",
as: "speeches" } }
]).toArray();

它运行良好,但我想按 date 字段或 title 字段对 speeches 数组进行排序,但我似乎无所作为。我在这里看到的所有例子都没有完成我需要他们做的事情。我尝试在 $lookup block 之后添加 { $sort: { "speech.title": -1 } } ,但它什么也没做。这可能吗?

最佳答案

您可以使用下面的$lookup管道变体可从 3.6 开始使用。

{"$lookup":{
"from":"speeches",
"let":{"uuid":"$uuid"},
"pipeline":[
{"$match":{"$expr":{"$eq":["$$uuid","$speaker_id"]}}},
{"$sort":{"title":1}}
],
"as":"speeches"
}}

关于MongoDB - 如何根据匹配字段对查找进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51885654/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com