如何缩短MongoDB中查询的执行时间

为了缩短查询的执行时间,请结合使用index和unique:true。让我们创建一个包含文档的集合-

> db.demo193.createIndex({"LastName":1},{unique:true});
{
   "createdCollectionAutomatically" : true,
   "numIndexesBefore" : 1,
   "numIndexesAfter" : 2,
   "ok" : 1
}
> db.demo193.insertOne({"FirstName":"John","LastName":"Doe"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e3ade1803d395bdc21346d1")
}
> db.demo193.insertOne({"FirstName":"John","LastName":"Smith"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e3ade1f03d395bdc21346d2")
}
> db.demo193.insertOne({"FirstName":"David","LastName":"Miller"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e3ade2803d395bdc21346d3")
}

在find()方法的帮助下显示集合中的所有文档-

> db.demo193.find();

这将产生以下输出-

{ "_id" : ObjectId("5e3ade1803d395bdc21346d1"), "FirstName" : "John", "LastName" : "Doe" }
{ "_id" : ObjectId("5e3ade1f03d395bdc21346d2"), "FirstName" : "John", "LastName" : "Smith" }
{ "_id" : ObjectId("5e3ade2803d395bdc21346d3"), "FirstName" : "David", "LastName" : "Miller" }

以下是查找具有更快执行时间的值的查询-

> db.demo193.find({"LastName":"Smith"});

这将产生以下输出-

{ "_id" : ObjectId("5e3ade1f03d395bdc21346d2"), "FirstName" : "John", "LastName" : "Smith" }