2014-10-09 128 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 
});