【发布时间】:2018-07-15 05:07:38
【问题描述】:
我在 MongoDB 中有 2 个集合。
- 文档
- 数据
Document 有大约 5K 个文档,并且获得总数非常快。
但后来我又添加了一个集合Data,它有 1M 条记录。现在,如果我尝试获取 Document 中的记录总数,它在 Mongoose 中需要 20 秒。但在 Mongo 控制台中它更快。
//文档架构
var docSchema = mongoose.Schema({
docId: String,
articleid: String,
title:String,
lastModified: String,
});
docSchema.index({ docId: 1, articleid: 1 ,lastModified:1});
var Doc = mongoose.model('document', docSchema);
module.exports = Doc;
//数据架构
var allData = mongoose.Schema({
_id:String,
id: Number,
author:String,
});
allData.index({ id: 1});
var data = mongoose.model('Data', allMetricsData);
module.exports = data;
而Node.JS中的聚合函数是这样的:
Document.count(function(errs, count) {
console.log("Count is:",count);
});
那么如何使用 Mongoose 提高性能呢?
当我执行时,db.documents.count() 我会立即得到响应。
【问题讨论】:
-
你能把你的猫鼬查询粘贴到这里吗?
标签: node.js mongodb mongoose mongoose-populate