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

MongoDBのカスタムフィールドを使用してページ付けでインデックスを作成して並べ替える方法は?


まず、ドキュメントを使用してコレクションを作成しましょう-

> db.demo373.createIndex({"Name":1,"CountryName":1});
{
   "createdCollectionAutomatically" : true,
   "numIndexesBefore" : 1,
   "numIndexesAfter" : 2,
   "ok" : 1
}
> db.demo373.insertOne({"Name":"Chris","Age":22,"CountryName":"US"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e59ffde2ae06a1609a00aff")
}
> db.demo373.insertOne({"Name":"David","Age":21,"CountryName":"AUS"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e59ffe82ae06a1609a00b00")
}
> db.demo373.insertOne({"Name":"Bob","Age":23,"CountryName":"UK"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e59fff42ae06a1609a00b01")
}
> db.demo373.insertOne({"Name":"John","Age":21,"CountryName":"US"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e59ffff2ae06a1609a00b02")
}
> db.demo373.insertOne({"Name":"Carol","Age":23,"CountryName":"AUS"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e5a00082ae06a1609a00b03")
}

find()メソッドを使用してコレクションからすべてのドキュメントを表示する-

> db.demo373.find();

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

{ "_id" : ObjectId("5e59ffde2ae06a1609a00aff"), "Name" : "Chris", "Age" : 22, "CountryName" : "US" }
{ "_id" : ObjectId("5e59ffe82ae06a1609a00b00"), "Name" : "David", "Age" : 21, "CountryName" : "AUS" }
{ "_id" : ObjectId("5e59fff42ae06a1609a00b01"), "Name" : "Bob", "Age" : 23, "CountryName" : "UK" }
{ "_id" : ObjectId("5e59ffff2ae06a1609a00b02"), "Name" : "John", "Age" : 21, "CountryName" : "US" }
{ "_id" : ObjectId("5e5a00082ae06a1609a00b03"), "Name" : "Carol", "Age" : 23, "CountryName" : "AUS" }

以下は、MongoDBでページ付けを使用してインデックスと並べ替えを実装するためのクエリです-

> db.demo373.find().sort({"Name":1, "Age":1}).limit(4).skip(2);

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

{ "_id" : ObjectId("5e59ffde2ae06a1609a00aff"), "Name" : "Chris", "Age" : 22, "CountryName" : "US" }
{ "_id" : ObjectId("5e59ffe82ae06a1609a00b00"), "Name" : "David", "Age" : 21, "CountryName" : "AUS" }
{ "_id" : ObjectId("5e59ffff2ae06a1609a00b02"), "Name" : "John", "Age" : 21, "CountryName" : "US" }

  1. MySQLでフィールド値によるカスタムソートを実行するにはどうすればよいですか?

    MySQLでフィールド値によるカスタムソートを実行するには、ORDER BYでFIELD()メソッドを使用します。最初にテーブルを作成しましょう: mysql> create table DemoTable (StudentId int); Query OK, 0 rows affected (0.58 sec) 以下は、挿入コマンドを使用してテーブルにいくつかのレコードを挿入するためのクエリです。 mysql> insert into DemoTable values(100); Query OK, 1 row affected (0.17 sec) mysql> ins

  2. Javaを使用してMongoDBでインデックスを作成するにはどうすればよいですか?

    MongoDBでインデックスを作成するには、 createIndex()を使用する必要があります メソッド。 構文 db.COLLECTION_NAME.createIndex({KEY:1}) ここで、キーはインデックスを作成するファイルの名前であり、1は昇順です。降順でインデックスを作成するには、-1を使用する必要があります。 Javaでは、 createIndex()を使用してインデックスを作成できます メソッド、このメソッドには、インデックスのタイプ(昇順または降順)とインデックスを作成するフィールド名を-として渡す必要があります。 createIndex(Indexes.desci