MongoDB
 Computer >> コンピューター >  >> プログラミング >> MongoDB

6つのMongoDBコレクションで2つのランダムなドキュメントを見つける方法は?


最初にコレクションを作成し、それにいくつかのドキュメントを追加しましょう

> 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 }

上記のクエリをもう一度実行して別のドキュメントを取得する2番目のケースは次のとおりです

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

これにより、次の出力が生成されます

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

  1. 2レベルの深さのMongoDBレコードをどのように見つけますか?

    2レベルの深さのMongoDBレコードを見つけるには、MongoDB$where内でループします。ドキュメントを使用してコレクションを作成しましょう- > db.demo468.insertOne( ... { ... "_id" : new ObjectId(), ... "FirstPosition" : { ...    "StudentName" : "Chris", ...    "StudentAge" : 23 ... }, ... &

  2. MongoDBコレクション内のすべてのドキュメントに新しいフィールドを追加する方法

    新しいフィールドを追加するには、MongoDBで$addFieldsを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo712.insertOne({"Name":"John"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea85f675d33e20ed1097b82") } > db.demo712.insertOne({"