我正在尝试在MongoDB中的“todos”集合中获取所有唯一键。在我的“todos”系列中有4000个待机,耗时约0.5秒。这也意味着我在这个系列中拥有的待办事项越多,这个功能就越长。
有更有效的方法吗?我的目标是提高绩效。
提前谢谢。
db.collection('todos').find().forEach(function (doc) {
count++;
Object.keys(doc).forEach(function (key) {
allKeys.push(key);
})
if (count == 4000) {
var unique = allKeys.filter((it, i, ar) => ar.indexOf(it) === i);
console.log(unique);
}
});
答案 0 :(得分:-1)
此:
db.collection('todos').distinct("_id")
如果您的mongo集合上有默认的_id
属性,那么几乎肯定会更快。