【问题标题】:Mongoose query indexed dataMongoose 查询索引数据
【发布时间】:2017-08-06 11:16:30
【问题描述】:

我对 mongodb 中的数据索引如何工作感到有些困惑。

例如,我有一个名为“体验”的集合,包含大约 15,000 个产品源:

{ "_id" : ObjectId("597df357c6622963cc3d834e"), "userImg" : false, "category" : "Test" }

现在我正在使用 MongoDB 索引这样的类别:

db.experiences.createIndex( { category: 1 } )

然后我像这样查询索引集合:

 var query = {};
 query.category = categoryVal;
 query.price = 100;
 Experiences.find(query).lean().exec(function (err, rec) {
                if(err)
                    console.log('Error at records: '+err);
                else {
                   console.log(rec);
}

这里我不确定这是否有效?我正在获取检索到的数据,但性能与以前相同。它有什么问题?

【问题讨论】:

标签: node.js mongodb mongoose


【解决方案1】:

要验证您的查询是否使用索引,请在 mongo shell 中对您的查询使用说明。

explain 计划将为您提供所见即所得背后发生的事情以获取您的数据。

【讨论】:

  • 好的,可以结合lean()和explain()。它有什么不同?
  • 您可能需要在 mongoose 的 API 中检查自己
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-05-12
  • 2015-06-14
  • 2015-11-06
  • 1970-01-01
  • 1970-01-01
  • 2015-10-22
  • 1970-01-01
相关资源
最近更新 更多