You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rust结合MongoDB按创建时间倒序排序的实现方案求助

Rust结合MongoDB按创建时间倒序排序的实现方案求助

嗨,这问题很好解决,你只需要把排序条件整合到MongoDB查询的配置选项里就行啦!我帮你把代码调整好,顺便提个容易踩的小坑~

首先,你得先导入MongoDB的FindOptions结构体,它用来配置查询的额外参数(比如排序、分页这些)。然后把你写的排序文档放到FindOptions的sort字段中,再把这个选项作为第二个参数传给find方法就可以了。

另外要注意:你原来写的排序字段"createdAt "后面多了个空格,这会导致MongoDB找不到对应的字段,记得把空格去掉哦!

下面是修改后的完整代码:

// 别忘了导入FindOptions来配置查询参数
use mongodb::options::FindOptions;

// 你的过滤条件保持不变
let filter = doc! {};

// 修正后的排序文档(去掉createdAt后面的空格)
let sort = doc! { "createdAt": -1 };

// 构建查询选项并设置排序规则
let find_options = FindOptions::builder().sort(sort).build();

// 调用find方法时传入配置好的选项
let mut cursor = match collection.find(filter, find_options).await {
    Ok(cursor) => cursor,
    Err(e) => {
        eprintln!("Error querying MongoDB: {}", e);
        return HttpResponse::InternalServerError().body("Error querying MongoDB");
    }
};

这样你的查询结果就会按照createdAt字段倒序排列了,最新创建的文档会排在最前面~

备注:内容来源于stack exchange,提问作者dasaradhan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 07:03:12