使用 MongoDB 在整个数组上进行多键索引?


我们首先创建一个包含文档的集合 -

> db.demo277.insertOne({"details":[{"FirstName":"John"}]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e48fb21dd099650a5401a52")
}
> db.demo277.insertOne({"details":[{"FirstName":"David"}]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e48fb27dd099650a5401a53")
}
> db.demo277.insertOne({"details":[{"FirstName":"Chris"}]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e48fb2bdd099650a5401a54")
}

借助 find() 方法,显示集合中的所有文档 -

> db.demo277.find();

这将生成以下输出 -

{ "_id" : ObjectId("5e48fb21dd099650a5401a52"), "details" : [ { "FirstName" : "John" } ] }
{ "_id" : ObjectId("5e48fb27dd099650a5401a53"), "details" : [ { "FirstName" : "David" } ] }
{ "_id" : ObjectId("5e48fb2bdd099650a5401a54"), "details" : [ { "FirstName" : "Chris" } ] }

以下是针对整个数组实现多键索引的查询。它会扫描完整文档 -

> db.demo277.find({"details":{FirstName:"David"}});

这将生成以下输出 -

{ "_id" : ObjectId("5e48fb27dd099650a5401a53"), "details" : [ { "FirstName" : "David" } ] }

更新于: 2020 年 3 月 31 日

67 次浏览

开启你的 职业生涯

完成课程,获得认证

开始
广告