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

MongoDBコレクションの主キーを変更しますか?


主キーを変更するには、最初に主キーを削除する必要があります。 forEach()をdeleteと一緒に使用して、新しい主キーを削除して取得します。ドキュメントを使用してコレクションを作成しましょう-

> db.demo41.insertOne({"StudentName":"Carol"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e25ce4acfb11e5c34d898e3")
}

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

> db.demo41.find();

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

{ "_id" : ObjectId("5e25ce4acfb11e5c34d898e3"), "StudentName" : "Carol" }

これは、MongoDBコレクションの主キーを変更するためのクエリです-

> var next = db.demo41.find()
>
> next.forEach(function(s) {
...    var prevId=s._id;
...    delete s._id;
...    db.demo41.insert(s);
...    db.demo41.remove(prevId);
... });

主キーをもう一度確認しましょう-

> db.demo41.find();

これにより、新しい主キーを表示する次の出力が生成されます-

{ "_id" : ObjectId("5e25cee5cfb11e5c34d898e4"), "StudentName" : "Carol" }

  1. MySQLで主キーのインデックスが自動的に作成されますか?

    はい、主キー、インデックスなどがBツリーに格納されるため、主キーはMySQLで自動的にインデックス付けされます。 InnoDBとMyISAMを含むすべてのエンジンは、インデックス付けされる主キーを自動的にサポートします。 主キーは、InnoDB、MyISAM、およびその他のエンジンで暗黙的にインデックス付けされます。 主キーを使用してテーブルを作成しましょう- mysql> create table DemoIndex -> ( -> Id int not null, -> primary key(Id) -> ); Query OK

  2. C#のStringDictionaryでキーのコレクションを取得します

    StringDictionaryでキーのコレクションを取得するには、コードは次のとおりです- 例 using System; using System.Collections; using System.Collections.Specialized; public class Demo {    public static void Main(){       StringDictionary strDict1 = new StringDictionary();       strDict1.Add("