使用 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 次瀏覽

開啟你的 職業生涯

完成課程,獲得認證

開始
廣告
© . All rights reserved.