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

MongoDBでサブドキュメントを並べ替え、選択、クエリする方法は?


並べ替えるには、MongoDBで$sortを使用します。ドキュメントを使用してコレクションを作成しましょう-

> db.demo236.insertOne({"details":{"Name":"Chris","Age":21}});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e419015f4cebbeaebec514c")
}
> db.demo236.insertOne({"details":{"Name":"David","Age":23}});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e41901cf4cebbeaebec514d")
}
> db.demo236.insertOne({"details":{"Name":"Bob","Age":24}});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e419023f4cebbeaebec514e")
}
>

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

> db.demo236.find();

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

{ "_id" : ObjectId("5e419015f4cebbeaebec514c"), "details" : { "Name" : "Chris", "Age" : 21 } }
{ "_id" : ObjectId("5e41901cf4cebbeaebec514d"), "details" : { "Name" : "David", "Age" : 23 } }
{ "_id" : ObjectId("5e419023f4cebbeaebec514e"), "details" : { "Name" : "Bob", "Age" : 24 } }

以下は、MongoDBでサブドキュメントを並べ替え、選択し、クエリするためのクエリです-

>  db.demo236.aggregate(
...   [
...      { $unwind: "$details" },
...      { $project: {
...         Name: '$details.Name',
...         Age: '$details.Age'
...
...      }},
...   { $sort: {Name: -1}}
...]
...);

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

{ "_id" : ObjectId("5e41901cf4cebbeaebec514d"), "Name" : "David", "Age" : 23 }
{ "_id" : ObjectId("5e419015f4cebbeaebec514c"), "Name" : "Chris", "Age" : 21 }
{ "_id" : ObjectId("5e419023f4cebbeaebec514e"), "Name" : "Bob", "Age" : 24 }

  1. MongoDBクエリを分割して5つの値をスキップする方法は?

    MongoDBの値をスキップするには、limit()とともにskip()を使用します。 5つの値には、limit(5)を使用します。ドキュメントを使用してコレクションを作成しましょう- db.demo633.insertOne({ Value :80}); {acknowledged :true、 insertedId :ObjectId( 5e9c0bfa6c954c74be91e6c8 )} find()メソッドを使用してコレクションからすべてのドキュメントを表示する- db.demo633.find(); これにより、次の出力が生成されます- 以下は、クエリを分割して5つ

  2. 個別を選択してカウントするMongoDBクエリ?

    ドキュメントを使用してコレクションを作成しましょう- > db.demo586.insertOne( ...    {"details": [ ...       { ...          "Name":"Chris", ...          "Marks":71 ...       }, ...