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

MongoDBでカーソルの反復をカウントする方法は?


find()カーソルとともにwhileループを使用して、カスタムロジックを使用する必要があります。ドキュメントを使用してコレクションを作成しましょう-

> db.demo724.insertOne(
...    {
...       details:
...       {
...          id:101,
...          otherDetails:[
...             {Name:"Chris"}
...          ]
...       }
...    }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5eab0cce43417811278f5890")
}
>
>
> db.demo724.insertOne(
... {
...
... }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5eab0cce43417811278f5891")
}
> db.demo724.insertOne(
...    {
...       details:
...       {
...          id:1001
...       }
...    }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5eab0cce43417811278f5892")
}

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

> db.demo724.find();

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

{ "_id" : ObjectId("5eab0cce43417811278f5890"), "details" : { "id" : 101, "otherDetails" : [ { "Name" : "Chris" } ] } }
{ "_id" : ObjectId("5eab0cce43417811278f5891") }
{ "_id" : ObjectId("5eab0cce43417811278f5892"), "details" : { "id" : 1001 } }

以下は、MongoDBでカーソルの反復をカウントするためのクエリです-

> var c=db.demo724.find();
> var detailsCount=0;
> while (c.hasNext()) {
...    var current = c.next();
...    if (typeof current["details"] != "undefined") {
...       detailsCount++;
...    }
... }
1
> print("number of details: " + detailsCount);

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

number of details: 2

  1. MongoDB SELECT COUNT GROUP BY?

    これは、集約フレームワークの助けを借りて達成できます。概念を理解するために、ドキュメントを使用してコレクションを作成しましょう。ドキュメントを使用してコレクションを作成するためのクエリは次のとおりです- > db.countGroupByDemo.insertOne({"StudentId":10,"StudentName":"John"}); {    "acknowledged" : true,    "insertedId" : ObjectI

  2. MongoDBでコンソールをクリアする方法は?

    MongoDBでコンソールをクリアするには、次の2つの構文のいずれかを使用できます。 最初の構文は次のとおりです。これは、キーボードショートカットの使用法です- Ctrl + L 上記のキーを押すと、MongoDBでコンソールをクリアできます。 2番目の構文は次のとおりです- cls 上記の構文を理解するために、それらを1つずつ実装してみましょう。これが私のコンソールのスナップショットです。 最初のクエリは、MongoDBのコンソールをクリアするために次のとおりです- Ctrl+L; 以下は出力です- 上記のサンプル出力を見てください。コンソールはクリアされています。