查询以返回仅包含id的游标

时间:2015-08-26 13:05:05

标签: mongodb cursor

我想在mongo db中只获取一个相当大的数据集的ID(这里没有破坏任何记录,但是太多而无法合理地加载到RAM中)。

我目前正在使用游标迭代集合中的所有ID,并以这种方式处理结果。有没有办法获得ids(投影)?这比仅仅在所有记录上使用光标更有效吗?

1 个答案:

答案 0 :(得分:1)

如果该字段是唯一的(因此您对dupes没有任何问题),那么是的,您需要做的就是指定一个投影。例如,如果您有一个名为ID的字段,您可以执行以下操作:

db.mycollection.find({}, {_id: 0, ID: 1})

查找的第二个参数是投影,在这种特殊情况下,我们要求查询返回ID字段并特别排除_id字段(默认情况下总是返回)。

如果您将这些ID存储在_id中,则会变为:

db.mycollection.find({}, {_id: 1})