如何从Mongoose获取已定义的索引
我一直试图找出已经通过MongoDB手动创建的索引(我已经通过mongobooster为两个字段创建了2d球体索引,并通过定义创建了一个通过模式)。现在,如果我在mongodbooster中运行此查询
db.collectionname.getIndexes();
它导致了3个带有name.key的文件以及我使用过的索引。我想在mongoose中执行相同的操作,我找不到相同的查询。我试过这个
const indexes = OrderSchema.indexes();
console.log('index:', indexes);
但是它只给了我一个索引,我已经在架构中定义了_id我还需要两个其他字段,其中包含2d-sphere索引,我怎么能得到它。我想在这里尝试实现的是,如果已经创建了2d球体索引,则不创建索引,否则创建一个我想在这里实现的索引。任何帮助表示赞赏谢谢
回答如下:是的,你不能用架构来做。您需要先创建模型,然后才能执行以下操作:
Order.collection.getIndexes({full: true}).then(indexes => {
console.log("indexes:", indexes);
// ...
}).catch(console.error);