获取Meteor中的集合索引列表

时间:2015-01-20 10:16:06

标签: javascript mongodb meteor mongodb-indexes

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

1 个答案:

答案 0 :(得分:3)

根据this issue,您可以像这样向Mongo Collection原型添加getIndexes(信用到@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"
  }
]