获取 Meteor 中集合索引的列表

Get a list of collection's indexes in Meteor

如何使用 Meteor 获取集合的索引列表?
类似于(或者可能基于代理)Mongo 的 db.collection.getIndexes
Meteor 中还没有多少索引 API(最终会有一个);但我希望有人已经解决了这个问题
干杯

根据this issue, you can add a getIndexes to the Mongo Collection prototype like this (credit to @jagi):

if (Meteor.isServer) {
  var Future = Npm.require('fibers/future');
  Mongo.Collection.prototype.getIndexes = function() {
    var raw = this.rawCollection();
    var future = new Future();

    raw.indexes(function(err, indexes) {
      if (err) {
        future.throw(err);
      }

      future.return(indexes);
    });

    return future.wait();
  };

  Items = new Mongo.Collection();
  console.log(Items.getIndexes());
}

您还可以打开 Mongo 数据库 shell 并直接访问 Mongo 数据库集合。

meteor mongo
meteor:PRIMARY> db.tags.getIndexes()
[
  {
    "v" : 1,
    "key" : {
      "_id" : 1
    },
    "name" : "_id_",
    "ns" : "meteor.tags"
  }
]