如何在一個包含 6 個文件的 MongoDB 集合中查詢兩個隨機文件?


讓我們先建立一個集合,並向其中新增一些文件

> db.twoRandomDocumentDemo.insertOne({"StudentId":10});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9ec9aad628fa4220163b87")
}
> db.twoRandomDocumentDemo.insertOne({"StudentId":100});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9ec9add628fa4220163b88")
}
> db.twoRandomDocumentDemo.insertOne({"StudentId":45});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9ec9b0d628fa4220163b89")
}
> db.twoRandomDocumentDemo.insertOne({"StudentId":55});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9ec9b3d628fa4220163b8a")
}
> db.twoRandomDocumentDemo.insertOne({"StudentId":5});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9ec9b7d628fa4220163b8b")
}
> db.twoRandomDocumentDemo.insertOne({"StudentId":7});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9ec9bad628fa4220163b8c")
}

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

> db.twoRandomDocumentDemo.find();

這將產生以下輸出

{ "_id" : ObjectId("5c9ec9aad628fa4220163b87"), "StudentId" : 10 }
{ "_id" : ObjectId("5c9ec9add628fa4220163b88"), "StudentId" : 100 }
{ "_id" : ObjectId("5c9ec9b0d628fa4220163b89"), "StudentId" : 45 }
{ "_id" : ObjectId("5c9ec9b3d628fa4220163b8a"), "StudentId" : 55 }
{ "_id" : ObjectId("5c9ec9b7d628fa4220163b8b"), "StudentId" : 5 }
{ "_id" : ObjectId("5c9ec9bad628fa4220163b8c"), "StudentId" : 7 }

以下是從 6 個文件中獲取任意 2 個文件的查詢。將大小設定為 2,因為我們只需要 2 個文件。

> db.twoRandomDocumentDemo.aggregate([{$sample: {size: 2}}]);

這將產生以下輸出

{ "_id" : ObjectId("5c9ec9b3d628fa4220163b8a"), "StudentId" : 55 }
{ "_id" : ObjectId("5c9ec9aad628fa4220163b87"), "StudentId" : 10 }

這是第二次執行上述查詢以獲取不同文件的情況

> db.twoRandomDocumentDemo.aggregate([{$sample: {size: 2}}]);

這將產生以下輸出

{ "_id" : ObjectId("5c9ec9add628fa4220163b88"), "StudentId" : 100 }
{ "_id" : ObjectId("5c9ec9b7d628fa4220163b8b"), "StudentId" : 5 }

更新日期: 30-7-2019

153 次瀏覽

開啟你的職業生涯

完成課程,獲得認證

開始學習
廣告
© . All rights reserved.