Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 流星中的Mongo索引_Mongodb_Meteor - Fatal编程技术网

Mongodb 流星中的Mongo索引

Mongodb 流星中的Mongo索引,mongodb,meteor,Mongodb,Meteor,不确定我是否理解Meteor中的mongo查询索引。现在,我的查询都没有索引。在应用程序的某些页面上,有15或20个链接指向一个独特的mongo查询。每个查询是否会单独编制索引 例如,如果其中一个查询类似于: Template.myTemplate.helpers({ ... if (weekly === "1") { var firstWeekers = _.where(progDocs, {Week1: "1"}), firstWeekNames = firstWeeker

不确定我是否理解Meteor中的mongo查询索引。现在,我的查询都没有索引。在应用程序的某些页面上,有15或20个链接指向一个独特的mongo查询。每个查询是否会单独编制索引

例如,如果其中一个查询类似于:

 Template.myTemplate.helpers({
 ...
 if (weekly === "1") {
   var firstWeekers = _.where(progDocs, {Week1: "1"}),
   firstWeekNames = firstWeekers.map(function (doc) {
    return doc.FullName;
 });
 return Demographic.find({ FullName: { $in: firstWeekNames }}, { sort: { FullName: 1 }});
 }
 ...
 })
我将如何实现每个索引

首先,minimongo(客户端的mongo)在内存中运行,因此索引的影响要比在磁盘上小得多。为了最大限度地减少网络消耗,您通常还希望将客户端上的集合保持在相当小的范围内,从而使客户端上的索引变得更加不重要

但是,在服务器上,索引对于良好的性能至关重要。在服务器上设置索引有两种常用方法:

  • 通过meteor mongo shell,即
    db.demographic.createIndex({FullName:1})
  • 在使用Collection2包时,通过设置要在架构中索引的字段。看

  • 索引并没有内置在MiniMongo中,MiniMongo是Meteor的MongoDB API客户端实现。谢谢,Floyd博士。对我来说,将客户端上的集合保持在较小的范围内实际上是不可能的,因为该应用程序是一个内部应用程序,需要在浏览器中保存整个集合。它不是一个基于订阅的应用程序,用户可以登录自己的数据。但是收藏量并不是很大。我有点对第一种方法感到困惑。使用mongo shell,如果我在整个应用程序中有多个查询的多个索引,那么服务器如何知道哪个索引与哪个查询相匹配?您为文档键而不是查询编制索引。您还可以在一起查询的多个键上创建。如果您想了解mongo如何使用索引,请尝试