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

如何在Rust MongoDB驱动中实现mongosh字段筛选查询

在Rust MongoDB驱动中实现字段投影(仅返回指定字段)

要实现你需要的仅返回George Orwell作品的book字段的查询(对应mongosh命令db.library.find({"author": "George Orwell"}, {book: 1, _id:0})),核心是在FindOptions中添加**投影(projection)**配置——这对应mongosh命令里的第二个参数。

你之前的代码只配置了排序,缺少投影参数,修改后的完整代码如下:

use mongodb::{bson::doc, options::FindOptions};

// 筛选条件:匹配作者为George Orwell的文档
let filter = doc! { "author": "George Orwell" };
// 查询选项:设置投影(指定返回字段)+ 排序
let find_options = FindOptions::builder()
    .projection(doc! { "book": 1, "_id": 0 }) // 关键:配置要返回的字段,排除_id
    .sort(doc! { "title": 1 }) // 保留你原有的排序需求
    .build();
// 执行查询
let mut cursor = typed_collection.find(filter, find_options).await?;

关键说明:

  • projection参数通过doc! { "book": 1, "_id": 0 }指定:
    • book: 1表示要包含该字段
    • _id: 0表示要排除默认会返回的_id字段(如果不写这一项,查询结果会自动带上_id)
  • 加上这个配置后,查询行为就和你目标的mongosh命令完全一致,同时保留了你原本需要的排序逻辑。

内容的提问来源于stack exchange,提问作者prorealize

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 12:54:18