MongoDBにはCREATE DATABASE
がありません SQLのようなステートメント。
MongoDBでは、存在しないデータベースに切り替えてデータを挿入するだけでデータベースを作成できます。
例
新しいデータベースを作成する例を次に示します。
use PetHotel
結果:
switched to db PetHotel
これにより、PetHotel
という新しいデータベースが作成されます。 そしてそれを現在のデータベースにします。
ただし、データベースは部分的にしか作成されていません。データを挿入するまで、完全には作成されません。
show dbs
を実行すると 使用しているデータベースを確認するコマンドを実行すると、表示されません。
show dbs
結果:
admin 0.000GB config 0.000GB local 0.000GB
これは、MongoDBとともにインストールされたデータベースのデフォルトセットです。他のデータベースがある場合は、ここにも表示されます。
ただし、重要なのは、新しく作成されたPetHotel
データベースはどこにも見当たりません!
データを挿入
データベースを完全に作成するには、いくつかのデータを挿入する必要があります。少量でも十分です。
例:
db.pets.insert({ name: "Fetch" })
結果:
WriteResult({ "nInserted" : 1 })
このメッセージは、1つのドキュメントが挿入されたことを示しています。
show dbs
を実行すると ここでも、新しく作成したデータベースを確認できます。
show dbs
結果:
PetHotel 0.000GB admin 0.000GB config 0.000GB local 0.000GB
コレクション
データベースにはコレクションが含まれています。この例では、pets
というコレクションをすでに作成しています。 。
データを挿入するときは、次のような構文を使用します。
db.<collection>.insert()
<collection>
の場所 データを挿入するコレクションの名前です。コレクションが存在しない場合は作成されます。
この例では、次のコマンドを使用しました:
db.pets.insert({ name: "Fetch" })
pets
というコレクションを作成しました (まだ存在していなかったため)
データを確認する
find()
を使用できます コレクション内のデータをチェックするためのコレクションメソッド。
例:
db.pets.find()
結果:
{ "_id" : ObjectId("5fe02d3937b49e0faf1af20b"), "name" : "Fetch" }
予想どおり、ドキュメントが返されます。
また、追加のフィールドがあることに気付くでしょう。 _id
があります ドキュメントを追加したときに指定しなかったフィールド。
_id
フィールドは特別なフィールドです。ドキュメントの識別子として使用されます。ドキュメントで_id
が指定されていない場合 フィールドに入力すると、MongoDBは_id
を追加します フィールドに移動し、一意のObjectId
を割り当てます 挿入する前のドキュメント用。
または、独自の_id
を指定することもできます フィールドに独自の値を割り当てます。ただし、_id
に注意してください キーの重複エラーを回避するために、値はコレクション内で一意である必要があります。