在 MongoDB 中求和陣列大小欄位的最佳方式是什麼?
要對陣列大小欄位求和,請在 $sum 中使用 $size。讓我們製作一個包含文件的集合 −
> db.demo231.insertOne({"Subjects":["MongoDB","MySQL","SQL Server"]}); { "acknowledged" : true, "insertedId" : ObjectId("5e3fc73ff4cebbeaebec5143") } > db.demo231.insertOne({"Subjects":["Java","C","C++"]}); { "acknowledged" : true, "insertedId" : ObjectId("5e3fc757f4cebbeaebec5144") } > db.demo231.insertOne({"Subjects":["Python","Spring"]}); { "acknowledged" : true, "insertedId" : ObjectId("5e3fc762f4cebbeaebec5145") }
在集合中使用 find() 方法,顯示所有文件 −
> db.demo231.find();
此操作將生成以下輸出 −
{ "_id" : ObjectId("5e3fc73ff4cebbeaebec5143"), "Subjects" : [ "MongoDB", "MySQL", "SQL Server" ] } { "_id" : ObjectId("5e3fc757f4cebbeaebec5144"), "Subjects" : [ "Java", "C", "C++" ] } { "_id" : ObjectId("5e3fc762f4cebbeaebec5145"), "Subjects" : [ "Python", "Spring" ] }
以下是 MongoDB 中求和陣列大小欄位的查詢 −
> db.demo231.aggregate([{'$group': {'_id': '_id', 'ToTalValue': {'$sum': {'$size': '$Subjects'}}}}])
此操作將生成以下輸出 −
{ "_id" : "_id", "ToTalValue" : 8 }
廣告