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

MongoDBはどのようにドキュメントを1つのコレクションに並べ替えますか?


MongoDBは、$ natural演算子を使用して、1つのコレクションでドキュメントを注文します。 find()から取得すると、ドキュメントがそのまま保存されます。デフォルトの順序は$naturalです。構文を見てみましょう-

db.yourCollectionName.find().sort({ "$natural": 1 });

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

> db.orderDocsDemo.insertOne({"UserScore":87});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9531a316f542d757e2b44b")
}
> db.orderDocsDemo.insertOne({"UserScore":98});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9531a816f542d757e2b44c")
}
> db.orderDocsDemo.insertOne({"UserScore":99});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9531b216f542d757e2b44d")
}
> db.orderDocsDemo.insertOne({"UserScore":67});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9531b716f542d757e2b44e")
}
> db.orderDocsDemo.insertOne({"UserScore":78});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9531bd16f542d757e2b44f")
}
> db.orderDocsDemo.insertOne({"UserScore":91});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9531c416f542d757e2b450")
}
> db.orderDocsDemo.insertOne({"UserScore":86});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c9531c816f542d757e2b451")
}

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

> db.orderDocsDemo.find();

以下は出力です-

{ "_id" : ObjectId("5c9531a316f542d757e2b44b"), "UserScore" : 87 }
{ "_id" : ObjectId("5c9531a816f542d757e2b44c"), "UserScore" : 98 }
{ "_id" : ObjectId("5c9531b216f542d757e2b44d"), "UserScore" : 99 }
{ "_id" : ObjectId("5c9531b716f542d757e2b44e"), "UserScore" : 67 }
{ "_id" : ObjectId("5c9531bd16f542d757e2b44f"), "UserScore" : 78 }
{ "_id" : ObjectId("5c9531c416f542d757e2b450"), "UserScore" : 91 }
{ "_id" : ObjectId("5c9531c816f542d757e2b451"), "UserScore" : 86 }

これが1つのコレクションでドキュメントを注文するためのクエリです-

> db.orderDocsDemo.find().sort({ "$natural": 1 });

以下は出力です-

{ "_id" : ObjectId("5c9531a316f542d757e2b44b"), "UserScore" : 87 }
{ "_id" : ObjectId("5c9531a816f542d757e2b44c"), "UserScore" : 98 }
{ "_id" : ObjectId("5c9531b216f542d757e2b44d"), "UserScore" : 99 }
{ "_id" : ObjectId("5c9531b716f542d757e2b44e"), "UserScore" : 67 }
{ "_id" : ObjectId("5c9531bd16f542d757e2b44f"), "UserScore" : 78 }
{ "_id" : ObjectId("5c9531c416f542d757e2b450"), "UserScore" : 91 }
{ "_id" : ObjectId("5c9531c816f542d757e2b451"), "UserScore" : 86 }

上記のサンプル出力を見てください。挿入した方法と同じドキュメントを取得しています。

ソートされたドキュメントを取得するには、次のクエリを使用します-

> db.orderDocsDemo.find().sort({ "UserScore": 1 });

以下は出力です-

{ "_id" : ObjectId("5c9531b716f542d757e2b44e"), "UserScore" : 67 }
{ "_id" : ObjectId("5c9531bd16f542d757e2b44f"), "UserScore" : 78 }
{ "_id" : ObjectId("5c9531c816f542d757e2b451"), "UserScore" : 86 }
{ "_id" : ObjectId("5c9531a316f542d757e2b44b"), "UserScore" : 87 }
{ "_id" : ObjectId("5c9531c416f542d757e2b450"), "UserScore" : 91 }
{ "_id" : ObjectId("5c9531a816f542d757e2b44c"), "UserScore" : 98 }
{ "_id" : ObjectId("5c9531b216f542d757e2b44d"), "UserScore" : 99 }

  1. MongoDBコレクションから重複を削除するにはどうすればよいですか?

    このために、「 unique:true」を設定します 」つまり、一意の制約を使用し、次の構文のように重複を挿入しないようにします- db.yourCollectionName.ensureIndex({yourFieldName: 1}, {unique: true, dropDups: true}) 上記の構文を理解するために、ドキュメントを使用してコレクションを作成しましょう。ここでは、重複挿入は許可されません- > db.demo604.ensureIndex({FirstName: 1}, {unique: true, dropDups: true});{   &nb

  2. MongoDBでタイムスタンプ(降順)で並べ替える方法

    タイムスタンプで並べ替えるには、MongoDBでsort()を使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo737.insertOne({"timestamp" : new ISODate("2020-04-01" )}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ead682157bb72a10bcf065c") } > db.de