Tạo một chỉ mục và sau đó sử dụng giải thích (). Hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -
> db.demo278.ensureIndex({"Subjects":1}); { "createdCollectionAutomatically" : true, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1 } > db.demo278.insertOne({"Subjects":["MySQL","MongoDB","Java"]}); { "acknowledged" : true, "insertedId" : ObjectId("5e49096edd099650a5401a55") } > db.demo278.insertOne({"Subjects":["C","C++"]}); { "acknowledged" : true, "insertedId" : ObjectId("5e490978dd099650a5401a56") } > db.demo278.insertOne({"Subjects":["Spring","Hibernate"]}); { "acknowledged" : true, "insertedId" : ObjectId("5e490984dd099650a5401a57") }
Hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find () -
> db.demo278.find();
Điều này sẽ tạo ra kết quả sau -
{ "_id" : ObjectId("5e49096edd099650a5401a55"), "Subjects" : [ "MySQL", "MongoDB", "Java" ] } { "_id" : ObjectId("5e490978dd099650a5401a56"), "Subjects" : [ "C", "C++" ] } { "_id" : ObjectId("5e490984dd099650a5401a57"), "Subjects" : [ "Spring", "Hibernate" ] }
Đây là truy vấn để kiểm tra hiệu suất -
> db.demo278.find({Subjects:{$in:["Spring","MongoDB"]}}).explain();
Điều này sẽ tạo ra kết quả sau -
{ "queryPlanner" : { "plannerVersion" : 1, "namespace" : "test.demo278", "indexFilterSet" : false, "parsedQuery" : { "Subjects" : { "$in" : [ "MongoDB", "Spring" ] } }, "winningPlan" : { "stage" : "FETCH", "inputStage" : { "stage" : "IXSCAN", "keyPattern" : { "Subjects" : 1 }, "indexName" : "Subjects_1", "isMultiKey" : true, "multiKeyPaths" : { "Subjects" : [ "Subjects" ] }, "isUnique" : false, "isSparse" : false, "isPartial" : false, "indexVersion" : 2, "direction" : "forward", "indexBounds" : { "Subjects" : [ "[\"MongoDB\", \"MongoDB\"]", "[\"Spring\", \"Spring\"]" ] } } }, "rejectedPlans" : [ ] }, "serverInfo" : { "host" : "DESKTOP-QN2RB3H", "port" : 27017, "version" : "4.0.5", "gitVersion" : "3739429dd92b92d1b0ab120911a23d50bf03c412" }, "ok" : 1 }