MongoDB如何为数组编制索引?
MongoDB对数组的每个值进行索引,以便你可以查询单个元素。
为了理解这个概念,我们用文档创建一个集合。创建带有文档的集合的查询如下所示 -
> db.indexingForArrayElementDemo.insertOne({"StudentFavouriteSubject":["MongoDB","MySQL"]}); { "acknowledged" : true, "insertedId" : ObjectId("5c8acdca6cea1f28b7aa0816") }
借助 find() 方法显示集合中的所有文档。查询如下所示 -
> db.indexingForArrayElementDemo.find().pretty();
以下是输出 -
{ "_id" : ObjectId("5c8acdca6cea1f28b7aa0816"), "StudentFavouriteSubject" : [ "MongoDB", "MySQL" ] }
以下是 MongoDB 索引数组 - 的查询
> db.indexingForArrayElementDemo.ensureIndex({"StudentFavouriteSubject":1});
以下是输出 -
{ "createdCollectionAutomatically" : false, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1 }
以下是单个数组元素的查询 -
> db.indexingForArrayElementDemo.find({"StudentFavouriteSubject":"MongoDB"}).pretty();
以下是输出 -
{ "_id" : ObjectId("5c8acdca6cea1f28b7aa0816"), "StudentFavouriteSubject" : [ "MongoDB", "MySQL" ] }
我们再看另一个例子。查询如下所示 -
> db.indexingForArrayElementDemo.find({"StudentFavouriteSubject":"MySQL"}).pretty();
以下是输出 -
{ "_id" : ObjectId("5c8acdca6cea1f28b7aa0816"), "StudentFavouriteSubject" : [ "MongoDB", "MySQL" ] }
广告