🍃

mongo db 周りめも

2024/07/08に公開

mongodbsh

MongoDB Shellを使用してコレクションのデータを取得する方法について説明します。findメソッドを使用して、コレクション内のドキュメントをクエリできます。

Mongodb shellの起動と接続

まず、MongoDB Shellを起動し、認証情報を使ってMongoDBサーバーに接続します。

mongosh "mongodb://<username>:<password>@<host>:<port>/<database>?authSource=<auth-db>"

例:

mongosh "mongodb://myUser:myPassword@localhost:27017/myDatabase?authSource=admin"

2. データベースの選択

次に、使用するデータベースを選択します。

use myDatabase

コレクションからドキュメントを取得

特定の条件に一致するドキュメントを取得

特定の条件に一致するドキュメントを取得するには、findメソッドにクエリ条件を渡します。例えば、ageフィールドが30より大きいドキュメントを取得するには:

db.myCollection.find({ age: { $gt: 30 } })

例:

db.users.find({ age: { $gt: 30 } })

特定のフィールドのみを表示

特定のフィールドのみを表示するには、クエリの第二引数に表示したいフィールドを指定します。例えば、nameageフィールドのみを表示するには:

db.myCollection.find({}, { name: 1, age: 1, _id: 0 })

例:

db.users.find({}, { name: 1, age: 1, _id: 0 })

結果を整形して表示

prettyメソッドを使用して、結果を整形して見やすく表示できます:

db.myCollection.find().pretty()

例:

db.users.find().pretty()

これらの方法で、MongoDBのコレクション内のデータを取得し、必要に応じてクエリ条件を適用して表示することができます。

ドキュメントの削除

MongoDBにおいて、ドキュメントを削除する方法はいくつかあります。基本的な方法として、deleteOneメソッドやdeleteManyメソッドを使用する方法があります。以下にそれぞれの使用例を示します。

1. deleteOneメソッドを使用して1つのドキュメントを削除する

deleteOneメソッドは、特定の条件に一致する最初のドキュメントを削除します。例えば、name"John"である最初のドキュメントを削除する場合:

db.myCollection.deleteOne({ name: "John" })

このコマンドは、myCollectionコレクションからname"John"である最初のドキュメントを削除します。

2. deleteManyメソッドを使用して複数のドキュメントを削除する

deleteManyメソッドは、特定の条件に一致するすべてのドキュメントを削除します。例えば、age30以上のすべてのドキュメントを削除する場合:

db.myCollection.deleteMany({ age: { $gte: 30 } })

このコマンドは、myCollectionコレクションからage30以上のすべてのドキュメントを削除します。

注意点

  • ドキュメントを削除する際は、操作が永続的であり、元に戻すことはできません。確認せずに重要なデータを削除しないよう注意してください。
  • ドキュメントの削除には、適切なアクセス権を持つユーザーである必要があります。適切な認証情報を使用してMongoDBに接続し、操作を実行してください。

これらの方法を使用して、MongoDBでドキュメントを削除することができます。

Discussion