MongoDB 查詢如何才能統計陣列的大小?


使用 DISTINCT 獲取唯一元素,再用 length 獲取陣列的大小 −

db.yourCollectionName.distinct('yourFieldName').length;

我們先用文件建立一個集合 −

> db.countOrSizeDemo.insertOne({"StudentFirstName":"John"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd304f5b64f4b851c3a13dc")
}
> db.countOrSizeDemo.insertOne({"StudentFirstName":"David"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd304fab64f4b851c3a13dd")
}
> db.countOrSizeDemo.insertOne({"StudentFirstName":"David"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd304fcb64f4b851c3a13de")
}
> db.countOrSizeDemo.insertOne({"StudentFirstName":"Carol"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd30500b64f4b851c3a13df")
}
> db.countOrSizeDemo.insertOne({"StudentFirstName":"Sam"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd30505b64f4b851c3a13e0")
}
> db.countOrSizeDemo.insertOne({"StudentFirstName":"John"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cd3050ab64f4b851c3a13e1")
}

以下查詢使用 find() 方法顯示集合中的所有文件 −

> db.countOrSizeDemo.find();

這將產生以下輸出 −

{ "_id" : ObjectId("5cd304f5b64f4b851c3a13dc"), "StudentFirstName" : "John" }
{ "_id" : ObjectId("5cd304fab64f4b851c3a13dd"), "StudentFirstName" : "David" }
{ "_id" : ObjectId("5cd304fcb64f4b851c3a13de"), "StudentFirstName" : "David" }
{ "_id" : ObjectId("5cd30500b64f4b851c3a13df"), "StudentFirstName" : "Carol" }
{ "_id" : ObjectId("5cd30505b64f4b851c3a13e0"), "StudentFirstName" : "Sam" }
{ "_id" : ObjectId("5cd3050ab64f4b851c3a13e1"), "StudentFirstName" : "John" }

以下查詢獲取查詢陣列的大小 −

> db.countOrSizeDemo.distinct('StudentFirstName').length;

這將產生以下輸出 −

4

更新於: 30-Jul-2019

210 人瀏覽

開啟您的 事業

完成課程並獲得認證

開始
廣告
© . All rights reserved.