流星检查是否在没有Mongo Shell的情况下创建了索引

时间:2017-09-13 09:21:53

标签: mongodb meteor

在使用Mongo Shell但在Meteor服务器代码中调用_ensureIndex / createIndex 而没有之后,是否有人找到了检查是否已创建索引的方法?

我正在编写一个包测试,我想断言,索引是在一些包代码执行期间创建的。

1 个答案:

答案 0 :(得分:2)

我使用此代码扩展集合原型以同步获取索引:

<强> getIndexes.js

const Future = Npm.require('fibers/future');

Mongo.Collection.prototype.getIndexes = function() {
  const raw = this.rawCollection();
  const future = new Future();

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