2014-10-09 88 views
0

我在我的mongoDB中有超过50000条ID(在一个集合中)。Mongoose + NodeJS

我想只得到ID(而不是其他信息)。

server.js,我通过猫鼬连接的MongoDB:

mongoose.connect('mongodb://10.3.5.12/mydb'); 

我需要遍历所有的50项000检查ID,检查复制并存储在列表中。

我需要创建一个控制器吗?这将是非常沉重的50000条目? 任何想法我可以继续?

var listId= []; 
... 
listId.push(id); 

[编辑]我可以试试类似猫鼬的东西吗?

MyModel.find().distinct('id', function(error, id) { 
     // ids is an array of all ObjectIds 
     var listId= []; 
     ... 
     listId.push(id); 
    }); 

感谢您的帮助!

+1

你是什么意思“检查双一”是什么意思? – 2014-10-09 16:44:43

+0

对不起,我的意思是重复。 – Jose 2014-10-09 16:51:00

+0

所以,你基本上试图让所有的ID在数据库中,删除所有重复? – 2014-10-09 16:56:42

回答

1

如果你使用的猫鼬3.X +,你可以这样做:

MyModel.find().distinct('_id', function(error, ids) { 
    // ids is an array of all ObjectIds 
});