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

MongoDBインデックス-通常と複合の両方を同時に作成することは可能ですか?


はい、ensureIndex()を使用できます。 MongoDBは、ドキュメントのコレクション内の任意のフィールドのインデックスを完全にサポートします。

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

> db.demo622.ensureIndex({_id:1,Name:1,Age:1});
{
   "createdCollectionAutomatically" : true,
   "numIndexesBefore" : 1,
   "numIndexesAfter" : 2,
   "ok" : 1
}
> db.demo622.insertOne({_id:101,Name:"Chris",Age:21});
{ "acknowledged" : true, "insertedId" : 101 }
> db.demo622.insertOne({_id:102,Name:"Chris",Age:22});
{ "acknowledged" : true, "insertedId" : 102 }
> db.demo622.insertOne({_id:103,Name:"Bob",Age:21});
{ "acknowledged" : true, "insertedId" : 103 }
> db.demo622.insertOne({_id:104,Name:"Chris",Age:22});
{ "acknowledged" : true, "insertedId" : 104 }
> db.demo622.insertOne({_id:104,Name:"Chris",Age:22});
2020-04-18T12:21:18.085+0530 E QUERY [js] WriteError: E11000 duplicate key error collection: test.demo622 index: _id_ dup key: { : 104.0 } :
WriteError({
   "index" : 0,
   "code" : 11000,
   "errmsg" : "E11000 duplicate key error collection: test.demo622 index: _id_ dup key: { : 104.0 }",
      "op" : {
         "_id" : 104,
         "Name" : "Chris",
         "Age" : 22
   }
})
WriteError@src/mongo/shell/bulk_api.js:461:48
Bulk/mergeBatchResults@src/mongo/shell/bulk_api.js:841:49
Bulk/executeBatch@src/mongo/shell/bulk_api.js:906:13
Bulk/this.execute@src/mongo/shell/bulk_api.js:1150:21
DBCollection.prototype.insertOne@src/mongo/shell/crud_api.js:252:9
@(shell):1:1
> db.demo622.insertOne({_id:105,Name:"Chris",Age:22});
{ "acknowledged" : true, "insertedId" : 105 }

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

> db.demo622.find();

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

{ "_id" : 101, "Name" : "Chris", "Age" : 21 }
{ "_id" : 102, "Name" : "Chris", "Age" : 22 }
{ "_id" : 103, "Name" : "Bob", "Age" : 21 }
{ "_id" : 104, "Name" : "Chris", "Age" : 22 }
{ "_id" : 105, "Name" : "Chris", "Age" : 22 }

  1. Tkinterで同時に複数のキャンバスを表示するにはどうすればよいですか?

    Canvasウィジェットは、Tkinterの用途の広いウィジェットの1つであり、アプリケーションでイラストを作成したり、図形、円弧、画像、その他の複雑なレイアウトを描画したりするために使用されます。 Canvasウィジェットを作成するには、 canvas(root、** options)のコンストラクターを作成する必要があります。 。 ファクトリ関数を使用して、テキスト、画像、円弧を作成したり、キャンバスに他の形状を定義したりできます。場合によっては、同じキャンバスを使用して別のキャンバスを作成し、アプリケーションワークフローの一貫性を維持したい場合は、別のキャンバスを作成するイベントを呼び

  2. このメールトリックは、TwitterとFacebookの両方に同時に投稿します

    メールを使用してすべてのソーシャルメディアアカウントを更新するための鍵は、IFTTTなどの自動化サービスを使用することです。 TwitterやFacebookのさまざまな種類の投稿に対して、いくつかの異なるアプレットを設定できます。これを行うと、両方のソーシャルネットワークを更新するために1通のメールを送信するだけで済みます 。更新を投稿するには、IFTTTアカウントに関連付けられているメールから[email protected]にメールを送信するだけです。 FacebookとTwitterの同時更新の場合 FacebookとTwitterのステータスの簡単な更新に興味がある場合は、マイアプ