MongoDB
5726 ワード
Achievement Goals NoSQLの長所と特徴を知ることができます. MongoDBのドキュメントとコレクションを知ることができます. JSONとBSONの違いを理解し、プレゼンテーションをインポートまたはエクスポートできます. MongoDBのAtlasがわかります クラスタとReplica setがわかります. Atlasは、グラフィックユーザインタフェースおよびshellクエリ文として使用できます. CRUDは MongoDBで行えます. Insert、Find、Update、Deleteのクエリ文を記述できます. 演算子と投影を使用できます. 配列とサブマップをクエリーできます. 集約フレームワークを使用して、集約コマンドを使用してクエリーできます. $match、$project、$group演算子を使用できます. MongoDB
表ではなくドキュメント形式の代表的なデータベース
JSONと同様の形式でデータを記録し、各ドキュメントを集合と呼ばれるグループに整理して管理します.
大量のデータを格納:データ構造がほとんどないか、まったくない.
->ソフトウェア開発には大量の非構造化データが必要
クラウドコンピューティングとストレージスペースの活用
->システム規模の拡大に伴いdbはほぼ無限に横方向に拡張できる
迅速な導入サービス、頻繁なデータ構造の更新
->アーキテクチャを事前に準備する必要がなく、迅速な開発に役立ちます.市場でプロトコル・タイプを迅速に導入する必要がある場合は、ソフトウェア・バージョンのダウンタイム(dbserverofflice)を必要とせずに、データ構造を頻繁に更新する必要があります.
MongoDBはAtlasを使用してクラウド上にデータベースを設定します.GUI、Shellにデータを可視化、分析、エクスポート、および構築できます.
documentがデータをフィールドに格納および整理する方法-オブジェクトなどの値のペア.同じフォームがあります.すべてのドキュメントに一意のid値があります.field-value値が同じ場合、idが異なる場合は、他のドキュメントとみなされます.
Field:データの一意の識別子
Value:指定された識別子に関連するデータ
Collection:ドキュメントリポジトリ.通常、ドキュメント間に共通のフィールドがあります.データベースには複数のコレクションがあり、コレクションには複数のドキュメントがあります.
shellを使用してDocumentを問合せまたは更新する場合、JSON形式で出力します.JSON形式は読み書きが容易ですが、テキストなので解析が非常に遅く、メモリの使用効率が低下します.そこでBSON(Binary JSON)形式を導入した.MongoDBでは、JSON形式で作成したコンテンツをデータベースに追加できます.内部はBSON形式で保存され、通常は読みやすいJSON形式で出力されます.
BSON例
簡単なバックアップストレージはBSON、クエリーと出力はJSONであることを覚えておいてください. Create Read Update Delete
表ではなくドキュメント形式の代表的なデータベース
JSONと同様の形式でデータを記録し、各ドキュメントを集合と呼ばれるグループに整理して管理します.
NoSQLベースの非リレーショナル・データベースのプロパティ
大量のデータを格納:データ構造がほとんどないか、まったくない.
->ソフトウェア開発には大量の非構造化データが必要
クラウドコンピューティングとストレージスペースの活用
->システム規模の拡大に伴いdbはほぼ無限に横方向に拡張できる
迅速な導入サービス、頻繁なデータ構造の更新
->アーキテクチャを事前に準備する必要がなく、迅速な開発に役立ちます.市場でプロトコル・タイプを迅速に導入する必要がある場合は、ソフトウェア・バージョンのダウンタイム(dbserverofflice)を必要とせずに、データ構造を頻繁に更新する必要があります.
Atlas Cloud
MongoDBはAtlasを使用してクラウド上にデータベースを設定します.GUI、Shellにデータを可視化、分析、エクスポート、および構築できます.
MongoDB Document
documentがデータをフィールドに格納および整理する方法-オブジェクトなどの値のペア.同じフォームがあります.すべてのドキュメントに一意のid値があります.field-value値が同じ場合、idが異なる場合は、他のドキュメントとみなされます.
{
<field>:<value>
<field>:<value>
"name":"Sasha",
"title":"CodeMaster",
"Age" : 3
}
Document:field-value格納データField:データの一意の識別子
Value:指定された識別子に関連するデータ
Collection:ドキュメントリポジトリ.通常、ドキュメント間に共通のフィールドがあります.データベースには複数のコレクションがあり、コレクションには複数のドキュメントがあります.
JSON & BSON
shellを使用してDocumentを問合せまたは更新する場合、JSON形式で出力します.JSON形式は読み書きが容易ですが、テキストなので解析が非常に遅く、メモリの使用効率が低下します.そこでBSON(Binary JSON)形式を導入した.MongoDBでは、JSON形式で作成したコンテンツをデータベースに追加できます.内部はBSON形式で保存され、通常は読みやすいJSON形式で出力されます.
BSON例
簡単なバックアップストレージはBSON、クエリーと出力はJSONであることを覚えておいてください.
- JSON
mongoimport
mongoexport --uri "<Atlas Cluster URI>"
--collection=<collection name>
--out= <filename>.json
- BSON
mongostore
mongodump --uri "<Atlas Cluster URI>"
CRUD in MongoDB
db.collection_name.insert({data1},{data2}...)
** 여러 개의 데이터를 삽입할 경우 객체를 요소로 갖는 배열을 넣어주자. index 순으로 데이터가 삽입되며, ordered 옵션을 추가하면 삽입 순서를 변경할 수 있음.
** {"ordered": true} 일 경우, 배열 안의 index 순으로 작업이 수행됨. _id 필드 값이 같을 경우, duplicate error 발생.
db.collection_name.find({query1, query2...})
// 데이터 중 20개만 무작위로 뽑아서 렌더링
db.collection_name.findOne({"_id":ObjectId("")}) // 특정 데이터만 조회.
db.collection_name.find() // 전체 데이터 탐색
.pretty() // 보기 편하게 정렬
.count() // 데이터 개수 반환
db.collection_name.updateMany({query1}, {"$inc":{"<field>":<increment value1>,
<field>":<increment value2>, ...}})
// $inc 연산자를 통해 다수의 필드 값을 동시에 업데이트
db.zips.updateOne({"zip":"12534"},{"$set":{"pop":6235}})
// $set 연산자를 통해 단일 필드 값만 업데이트
db.grades.updateOne({"student_id":250, "class_id":339}, {"$push":{"type":"extra credit", "score":100}}})
// $push 연산자를 통해 배열로 이뤄진 필드 값에 요소를 추가
** field 잘못 입력할 경우, MongoDB는 새로운 데이터가 추가되는 줄 알고 업데이트하므로 주의할 것.
db.inspections.deleteMany({query})
db.inspections.deleteOne({query})
db.collection_name.drop() // collection 삭제
Reference
この問題について(MongoDB), 我々は、より多くの情報をここで見つけました https://velog.io/@sashainspb/MongoDBテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol