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

MongoDBのあるデータベースから別のデータベースにコレクションをコピーするにはどうすればよいですか?


MongoDBには、あるデータベースから別のデータベースにコレクションをコピーするコマンドはありません。それを達成するには、以下の概念を使用してください-

db.yourCollectionName.find().forEach(function(yourVariableName){
   db.getSiblingDB('yourDestinationDatabase')['yourCollectionName'].insert(yourVariableName);
});

テストデータベースにコレクションを作成し、このコレクションを「sample」という名前の別のデータベースにコピーしてみましょう。

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

<テスト>

> use test
switched to db test
> db.copyThisCollectionToSampleDatabaseDemo.insertOne({"User_Id":101,"UserName":"Larr
y"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c77ad622386c62d05142a67")
}
> db.copyThisCollectionToSampleDatabaseDemo.insertOne({"User_Id":102,"UserName":"Maxwell"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c77ad6e2386c62d05142a68")
}
> db.copyThisCollectionToSampleDatabaseDemo.insertOne({"User_Id":103,"UserName":"Robert"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c77ad7c2386c62d05142a69")
}

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

> db.copyThisCollectionToSampleDatabaseDemo.find().pretty();

以下は出力です-

{
   "_id" : ObjectId("5c77ad622386c62d05142a67"),
   "User_Id" : 101,
   "UserName" : "Larry"
}
{
   "_id" : ObjectId("5c77ad6e2386c62d05142a68"),
   "User_Id" : 102,
   "UserName" : "Maxwell"
}
{
   "_id" : ObjectId("5c77ad7c2386c62d05142a69"),
   "User_Id" : 103,
   "UserName" : "Robert"
}

サンプルデータベースに「copyThisCollectionToSampleDatabaseDemo」という名前のコレクションがあるかどうかを確認しましょう。

クエリは次のとおりです-

<サンプル>

> use sample;
switched to db sample
> show collections;

以下は出力です-

deleteDocuments
deleteDocumentsDemo
deleteInformation
employee
internalArraySizeDemo
sourceCollection
updateInformation
userInformation

したがって、「copyThisCollectionToSampleDatabaseDemo」という名前のコレクションはありません。

次に、上記のコレクションをテストデータベースからサンプルデータベースにコピーします。クエリは次のとおりです-

> use test;
switched to db test
> db.copyThisCollectionToSampleDatabaseDemo.find().forEach(function(send){
db.getSiblingDB('sample')['copyThisCollectionToSampleDatabaseDemo'].insert(send); });

次に、コレクションがサンプルデータベースにコピーされているか、正常にコピーされていないかをもう一度確認します。

クエリは次のとおりです-

> use sample;
switched to db sample
> show collections;

以下は出力です-

copyThisCollectionToSampleDatabaseDemo
deleteDocuments
deleteDocumentsDemo
deleteInformation
employee
internalArraySizeDemo
sourceCollection
updateInformation
userInformation

サンプル出力を見ると、コレクション「copyThisCollectionToSampleDatabaseDemo」はサンプルデータベースに存在しますが、テストデータベースにも存在します。


  1. Pythonモジュールをあるシステムから別のシステムにコピーするにはどうすればよいですか?

    コピーしたい独自のPythonモジュールがある場合は、それらをコピーして、Pythonがインストールされている他のシステムで実行できます。インストールされているモジュールをコピーする場合は、同じバージョンのPythonを2番目のシステムにインストールするのが最善の方法です。次に実行します $ pip freeze > installed_modules.txt インストールされているモジュールのリストをinstalled_modules.txtファイルで取得する最初のシステムで。次に、このファイルを2番目のシステムにコピーします。次に、pipを使用して、以下を使用してこれらのモジュール

  2. Redis MOVE –Redisでキーをあるデータベースから別のデータベースに移動する方法

    このチュートリアルでは、Redisデータストア内のあるデータベースから別のデータベースにキーを移動する方法について学習します。このために、コマンドを使用します– MOVE redis-cliで。 このコマンドは、現在選択されているデータベースから指定されたキーを削除し、同じキーを宛先に挿入するために使用されます データベース。キーがソースデータベースに存在しない場合、またはキーが宛先データベースにすでに存在する場合、操作は実行されず、0が返されます。 redis MOVEコマンドの構文は次のとおりです:- 構文:- redis host:post> MOVE <key&g