se_*_*dev 2 mongodb aggregation-framework
在我的 Mongo 数据库中,我有两个集合 \xe2\x80\x94speakers和speeches,并且我可以使用以下代码块“加入”它们(获取演讲者的演讲):
// I\'ve already found the \'speaker\' in the database\ndb.collection(\'speakers\').aggregate([{\n $match: { "uuid": speaker.uuid } },\n { $lookup: {\n from: "speeches",\n localField: "uuid",\n foreignField: "speaker_id",\n as: "speeches" } }\n]).toArray();\nRun Code Online (Sandbox Code Playgroud)\n\n它工作得很好,但我想按一个date或多个title字段对演讲数组进行排序,但我所做的一切似乎都无法实现。我在这里看到的示例都没有完成我需要它们做的事情。我尝试在块{ $sort: { "speech.title": -1 } }之后添加$lookup,但它什么也没做。这可能吗?
您可以使用$lookup3.6 中提供的以下管道变体。
{"$lookup":{
"from":"speeches",
"let":{"uuid":"$uuid"},
"pipeline":[
{"$match":{"$expr":{"$eq":["$$uuid","$speaker_id"]}}},
{"$sort":{"title":1}}
],
"as":"speeches"
}}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4123 次 |
| 最近记录: |