この記事では、MongoDBデータベースの追加、削除、変更、およびチェックに関連する操作を紹介します。詳細については、公式マニュアル(https://docs.mongodb.com/manual/)を参照してください。
このページでは、MongoDB Web Shellも提供しています。これを使用して、データベース環境をオンラインでシミュレートし、学習を容易にすることができます。
増加する
db.collection.insert()
-1つ以上のドキュメントをコレクションに挿入します
コレクションにドキュメントを挿入するときに、ドキュメントに_id属性が指定されていない場合、データベースはドキュメントに_idを自動的に追加します。これは、ドキュメントの一意の識別子として使用されます。
- 1つ挿入します
db.c1.insert({name:"tom", age:"18", gender:"男"})
- 複数挿入
db.c1.insert([
{name:"tom", age:"18", gender:"男"},
{name:"jenney", age:"16", gender:"女"},
{name:"klay", age:"20", gender:"男"}
])
- _idは自分で指定でき、データベースは自動的に追加されないため、独自の一意性を指定する必要があります
db.c1.insert({_id:"hello", name:"tom", age:"18", gender:"男"})
- ObjectId()を使用して、タイムスタンプとマシンコードによって生成されたIDを生成できます
ObjectId()
db.collection.insertOne()
-ドキュメントオブジェクトを挿入します
insertOne()とinsertMany()はどちらも、操作を標準化するためにバージョン3.2以降に追加された新しい関数であるinsert()の分割と見なすことができます。
db.c1.insertOne({name:"tom", age:"18", gender:"男"})
db.collection.insertMany()
-複数のドキュメントオブジェクトを挿入します
db.c1.insertMany([
{name:"tom", age:"18", gender:"男"},
{name:"jenney", age:"16", gender:"女"},
{name:"klay", age:"20", gender:"男"}
])
小切手
db.collection.find()
-find()は、条件を満たすコレクション内のすべてのドキュメントをクエリするために使用され、戻り値は配列です。
- コレクション内のすべてのドキュメントをクエリする
db.c1.find()
db.c1.find({})
- find()は、条件パラメーターとしてオブジェクトを受け取ることができ、クエリ属性は、指定された値{field:value}を持つドキュメントです。
db.c1.find({age:"18"})
- クエリ結果のコレクション
db.c1.find({_id:"hello", name:"wyc"})
- クエリ結果の最初のファイル
db.c1.find({age:"18"})[1]
- クエリ結果の最初のファイルの名前
db.c1.find({age:"18"})[1].name
- すべてのクエリ結果の数
db.collection.find({age:"18"}).count()
db.collection.findOne()
-コレクション内の条件を満たす最初のドキュメントをクエリするために使用され、ドキュメントオブジェクトを返します
db.c1.findOne({age:"18"})
変化する
db.collection.update()
- update(query condition、new object)は、古いオブジェクトを新しいオブジェクトに置き換えます。デフォルトでは1つだけが変更されます。
db.c1.update({name:"tom"},{age:28})
- 指定された属性を置き換えるのではなく変更する必要がある場合は、「変更演算子」を使用して変更を完了する必要があります
$ setを使用して、ドキュメント内の指定された属性を変更できます。
$ unsetを使用して、ドキュメントの指定された属性を削除できます
。
db.c1.update(
{"_id":"123"},
{$set:{
gender:"男"
address:"北京"
}}
)
- update()は、デフォルトで1つだけを変更します。複数を変更するには、別のパラメーター{multi:true}を追加します。
db.c1.update(
{"_id":"123"},
{$set:{
gender:"男"
address:"北京"
},
{multi:true}
)
db.collection.updateMany()
-複数の適格なドキュメントを同時に変更する
db.collection.updateOne()
-条件を満たすドキュメントを変更する
削除
db.collection.remove()
-removeは、条件に基づいてドキュメントを削除できます。条件を渡す方法は、find()と同じです。条件を満たすすべてのドキュメントを削除します
- 指定したドキュメントを削除します
db.c1.remove({age:28})
- remove()の2番目のパラメーターにtrueが渡されると、1つだけが削除されます
db.c1.remove({age:28}, true)
- 会議に合格しなかった場合はエラーを報告してください
db.c1.remove()
- 空のパラメーター{}のみを渡します。これは、コレクションを空にすることと同じです(1つずつ削除すると、パフォーマンスが低下します)。削除後もshowが存在します。
db.c1.remove({})
show collections
db.collection.deleteOne()
-ドキュメントを削除する
db.c1.deleteOne({age:28})
db.collection.deleteMany()
-すべてのドキュメントを削除します
db.c1.deleteMany({age:28})
db.collection.drop()
-コレクション全体を削除します。削除後にshowは存在しません
db.c1.drop()
show collections
db.dropDatabase()
-データベース全体を削除します
use testdb
db.dropDatabase()
isDelフィールド
-ドキュメントが使用されているかどうかを表すisDelなどの指定フィールドを追加するため、データを完全に削除する必要がなく、メンテナンスに便利です。