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
相关产品推荐
相关产品推荐

