如何統計 MongoDB 中每個欄位/鍵的不同數值?
你可以使用 distinct 命令來實現這個目的。為了理解這個概念,讓我們建立一個帶有文件的集合。建立帶有文件的集合的查詢如下所示 -
> db.distinctCountValuesDemo.insertOne({"StudentFirstName":"John","StudentFavouriteSubject":["C","C++","Java","MySQL","C","C++"]}); { "acknowledged" : true, "insertedId" : ObjectId("5c8a39f193b406bd3df60e07") } > db.distinctCountValuesDemo.insertOne({"StudentFirstName":"Larry","StudentFavouriteSubject":["MongoDB","SQL Server"]}); { "acknowledged" : true, "insertedId" : ObjectId("5c8a3a1193b406bd3df60e08") }
使用 find() 方法顯示集合中的所有文件。查詢如下 -
> db.distinctCountValuesDemo.find().pretty();
以下是輸出 -
{ "_id" : ObjectId("5c8a39f193b406bd3df60e07"), "StudentFirstName" : "John", "StudentFavouriteSubject" : [ "C", "C++", "Java", "MySQL", "C", "C++" ] } { "_id" : ObjectId("5c8a3a1193b406bd3df60e08"), "StudentFirstName" : "Larry", "StudentFavouriteSubject" : [ "MongoDB", "SQL Server" ] }
以下是查詢每個欄位/鍵不同的數值的查詢 -
> db.distinctCountValuesDemo.distinct('StudentFavouriteSubject');
以下是輸出 -
[ "C", "C++", "Java", "MySQL", "MongoDB", "SQL Server" ]
以下是查詢陣列中不同值長度的查詢 -
> db.distinctCountValuesDemo.distinct('StudentFavouriteSubject').length;
以下是輸出 -
6
廣告