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

MongoDBからランダムレコードを取得しますか?


MongoDBからランダムなレコードを取得するには、集計関数を使用できます。構文は次のとおりです。

db.yourCollectionName.aggregate([{$sample:{size:1}}]);

上記の構文を理解するために、いくつかのドキュメントを使用してコレクションを作成しましょう。コレクションを作成するためのクエリは次のとおりです。

>db.employeeInformation.insert({"EmployeeId":1,"EmployeeName":"Maxwell","EmployeeAge":26});
WriteResult({ "nInserted" : 1 })
>db.employeeInformation.insert({"EmployeeId":2,"EmployeeName":"David","EmployeeAge":25});
WriteResult({ "nInserted" : 1 })
>db.employeeInformation.insert({"EmployeeId":3,"EmployeeName":"Carol","EmployeeAge":24});
WriteResult({ "nInserted" : 1 })
>db.employeeInformation.insert({"EmployeeId":4,"EmployeeName":"Bob","EmployeeAge":28});
WriteResult({ "nInserted" : 1 })
>db.employeeInformation.insert({"EmployeeId":5,"EmployeeName":"Sam","EmployeeAge":27);
WriteResult({ "nInserted" : 1 })

これで、find()メソッドを使用して、コレクションのすべてのドキュメントを表示できます。クエリは次のとおりです。

> db.employeeInformation.find().pretty();

出力は次のとおりです。

{
   "_id" : ObjectId("5c6d3079734e98fc0a434ae5"),
   "EmployeeId" : 1,
   "EmployeeName" : "Maxwell",
   "EmployeeAge" : 26
}
{
   "_id" : ObjectId("5c6d308c734e98fc0a434ae6"),
   "EmployeeId" : 2,
   "EmployeeName" : "David",
   "EmployeeAge" : 25
}
{
   "_id" : ObjectId("5c6d309d734e98fc0a434ae7"),
   "EmployeeId" : 3,
   "EmployeeName" : "Carol",
   "EmployeeAge" : 24
}
{
   "_id" : ObjectId("5c6d30ab734e98fc0a434ae8"),
   "EmployeeId" : 4,
   "EmployeeName" : "Bob",
   "EmployeeAge" : 28
}
{
   "_id" : ObjectId("5c6d30bb734e98fc0a434ae9"),
   "EmployeeId" : 5,
   "EmployeeName" : "Sam",
   "EmployeeAge" : 27
}

ランダムレコードを取得するためのクエリは次のとおりです。

> db.employeeInformation.aggregate([{$sample:{size:1}}]).pretty();

出力は次のとおりです。

{
   "_id" : ObjectId("5c6d30bb734e98fc0a434ae9"),
   "EmployeeId" : 5,
   "EmployeeName" : "Sam",
   "EmployeeAge" : 27
}

同じクエリを使用して別のランダムレコードを取得しましょう:

> db.employeeInformation.aggregate([{$sample:{size:1}}]).pretty();

出力は次のとおりです。

{
   "_id" : ObjectId("5c6d308c734e98fc0a434ae6"),
   "EmployeeId" : 2,
   "EmployeeName" : "David",
   "EmployeeAge" : 25
}

  1. MySQLのレコードから数字を取得しますか?

    関数CONVERT()または正規表現を使用します。 CONVERT()メソッドは、値をあるデータ型から別のデータ型に変換します。これにより、数字が取得されます。例を見てみましょう。 まず、テーブルを作成します。 mysql> create table textIntoNumberDemo   -> (   -> Name varchar(100)   -> ); Query OK, 0 rows affected (0.47 sec) いくつかのレコードを挿入します。 mysql> insert into textIntoNumberDemo va

  2. MySQLデータベースからランダムレコードを選択するにはどうすればよいですか?

    このために、ORDER BYRANDLIMITを使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1581    -> (    -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,    -> StudentName varchar(20)    -> ); Query OK, 0 rows affected (1.34 sec) 挿入コマンド-を使用して、テーブルにいくつか