mongodb - 如何获取 MongoDB 中的所有文档 ID?

标签 mongodb

如何获取 MongoDB 中所有文档 ID 的数组?我只需要一组 id 而不是文档内容。

最佳答案

您可以通过调用 map 在 Mongo shell 中执行此操作像这样在光标上:

var a = db.c.find({}, {_id:1}).map(function(item){ return item._id; })

结果是 a 是一个仅包含 _id 值的数组。

它在 Node 中的工作方式是类似的。

(这是 MongoDB Node 驱动程序 v2.2 和 Node v6.7.0)

db.collection('...')
  .find(...)
  .project( {_id: 1} )
  .map(x => x._id)
  .toArray();

记得把 map before toArray 因为这个 map 不是 JavaScript map函数,但它是MongoDB提供的,在返回游标之前在数据库中运行。

关于mongodb - 如何获取 MongoDB 中的所有文档 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18881982/

相关文章:

node.js - 如何在 Mongoose 中将元素添加到嵌套在另一个数组中的数组?

mongodb - 启动时如何在Docker容器中创建新的Mongodb?

python - 使用python向mongodb中插入数据

mongodb - 蒙哥 : find items that don't have a certain field

mongodb - Mongodb聚合中的求和数组元素

mongodb - 在同一台机器上添加辅助副本集?

java - 如何使用 Java 驱动程序对选定字段运行查找查询

security - MongoDB 使用什么散列函数来散列数据库用户密码?

java - 如何为 RDBMS 和 MongoDB 创建通用实体?

c# - 如何使用 MongoDB 2.0 进行更新插入?