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

如何通过MongoDB获取用户集合的_id列表?附JPA查询类比

MongoDB提取_id属性获取ID列表的方法

1. MongoDB Shell 实现方式

你可以通过**投影(Projection)**指定仅返回_id字段,执行以下命令:

// 查询所有文档,仅返回_id字段
db.yourCollectionName.find({}, { _id: 1 })

如果需要直接得到纯ID数组,可结合map方法处理结果:

// 将查询结果转换为纯ID数组
db.yourCollectionName.find({}, { _id: 1 }).map(doc => doc._id)

说明:第一个空对象{}表示匹配集合中所有文档;第二个对象{ _id: 1 }指定仅包含_id字段(1代表包含,0代表排除)。

2. Spring Data MongoDB 注解查询(对应JPA示例逻辑)

和你提供的JPA注解写法对应,Spring Data MongoDB可以这样定义查询方法:

@Query(value = "{}", fields = "{ '_id' : 1 }")
Set<String> findAllIds();

也可以用更简洁的派生查询方式:

Set<ObjectId> findAllByIdNotNull();

3. Java MongoDB Driver 原生实现

如果使用原生Java驱动,代码示例如下:

MongoCollection<Document> collection = mongoDatabase.getCollection("yourCollectionName");
List<ObjectId> idList = collection.find()
                                 .projection(Projections.include("_id"))
                                 .map(doc -> doc.getObjectId("_id"))
                                 .into(new ArrayList<>());

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 16:10:27