MongoDBの簡単入門
4233 ワード
MongoDBの基本概念 MongoDBのデータユニットは セットは関係データベースのテーブルと類似しており、モードがないことを区別している. MongoDBデータベースごとに独自の集合と権限があります. MongoDBの操作は主に端末のJavaScript Shellによって行われる. 文書
JavaScriptでは、ドキュメントはオブジェクトとして表示されます.文書のキーパッドのペアは順序良く、上記の例では、nameとageのキーのペアを置き換えると、新しい文書として見なされます. 文書の値は文字列形式だけでなく、他のより高級なタイプもあります. 文書のキーは 集合する
集合は文書セットであり、NoSQLとしては関係データベースとは別に表である.
モードなし
集合は無モードです.すなわち、異なるタイプの文書は同じセットに共存することができます.は、エントロピー値を低減する.混乱を減らす. 速度の優越性.特定のタイプの文書を複数のサブセットに分けて照会効率を向上させる. は、同じタイプの文書に1セットのまとめがあり、データをより集中させる. できるだけサブセットを使ってデータを整理することをオススメします.
名前を付けるセット名は空の文字列ではいけません. は は、 は保持文字 MongoDBを起動する
MongoDBのインストールに成功し、正しく配置されることを確認します.端末入力
以下のような情報がある場合:
MongoDBは、パラメータがない場合はデフォルトで
MongoDB Shell
MongoDBクライアント
MongoDB Shellの本当の強さはJavaScriptの解凍器だけではなく、MongoDBクライアントでもある.オープンすると、shellはMongoDBサーバのtestデータベースに接続され、このデータベースをグローバル変数
データベースを選択:
次に操作データの4つの基本操作を学びます.
作成
このとき、追加のキー
読み込み
findはセットのすべてのドキュメントを返します.一つの文書だけを見たいなら、
更新
より多くのshell命令はhelpで確認できます.または公式docを参照してください.
ブログです
であり、JavaScriptのオブジェクトと見なされ、関係データベースの行と類似している.JavaScriptでは、ドキュメントはオブジェクトとして表示されます.
{"name": "XueSeason", "age": 22}
以上の文書には、XueSeason
の値を持つnameキーがあり、ageキーの値は22
です.この文書からいくつかの概念を説明しました.UTF-8
文字を使用する..
および$
は通常保持され、特定の環境でのみ使用され、_
も保持される.集合は文書セットであり、NoSQLとしては関係データベースとは別に表である.
モードなし
集合は無モードです.すなわち、異なるタイプの文書は同じセットに共存することができます.
{"name": "XueSeason", "age": 22}
{"book": "The old man and the Sea"}
上の文書は全く異なる2つの文書です.一つの集合が様々なタイプを収容できるのに、なぜ多くの集合が必要ですか?マルチ集合を使用するという意味は、名前を付ける
\0
文字を含んではいけません.system.
で始まることができず、システムのセットのプレフィックスを保持する.$
を含んではいけません.MongoDBのインストールに成功し、正しく配置されることを確認します.端末入力
mongod
コマンド.以下のような情報がある場合:
2015-03-28T13:35:04.067+0800 W - [initandlisten] Detected unclean shutdown - /data/db/mongod.lock is not empty.
2015-03-28T13:35:04.067+0800 I STORAGE [initandlisten] exception in initAndListen: 98 Unable to lock file: /data/db/mongod.lock errno:35 Resource temporarily unavailable. Is a mongod instance already running?, terminating
2015-03-28T13:35:04.067+0800 I CONTROL [initandlisten] dbexit: rc: 100
すでにMongoDBプログラムがバックグラウンドで実行されていることを示します.ps -ef
によって関連pidが検索され、kill [pid]
が強制的に閉じられます.MongoDBは、パラメータがない場合はデフォルトで
/data/db
ディレクトリを使用し、27017ポートを傍受します.このディレクトリが存在しない場合や書き込み不可の場合、サーバーも起動に失敗します.MongoDB Shell
mongo
を実行してshellを起動します.xuejijiedeMacBook-Pro:~ xuejijie$ mongo
MongoDB shell version: 3.0.1
connecting to: test
>
この場合、REPL方式でJavaScriptコードを実行できます.MongoDBクライアント
MongoDB Shellの本当の強さはJavaScriptの解凍器だけではなく、MongoDBクライアントでもある.オープンすると、shellはMongoDBサーバのtestデータベースに接続され、このデータベースをグローバル変数
db
に接続します.データベースを選択:
> use mydatabase
switched to db mydatabase
> db
mydatabase
CRUD次に操作データの4つの基本操作を学びます.
作成
insert
関数を使用して、対応するセットにドキュメントを追加することができます.> post = { "title": "The first day", "content": "It is awesome time", "date": new Date()}
{
"title" : "The first day",
"content" : "It is awesome time",
"date" : ISODate("2015-03-28T05:53:16.355Z")
}
> db.blog.insert(post)
WriteResult({ "nInserted" : 1 })
> db.blog.find()
{ "_id" : ObjectId("551641e5b1f58081c3b9d7ea"), "title" : "The first day", "content" : "It is awesome time", "date" : ISODate("2015-03-28T05:53:16.355Z") }
上記の操作はまずpostオブジェクトを作成し、insert方法でブログの集合にデータを保存し、最後にfind関数を通して、ブログの集合中のすべての文書を展示します.このとき、追加のキー
_id
がドキュメントに追加され、システムが自動的に追加するキーです.読み込み
findはセットのすべてのドキュメントを返します.一つの文書だけを見たいなら、
findOne
を使ってもいいです.より多くの照会内容について、新しい文章として説明します.更新
update
関数は、2つのパラメータを受け取ります.更新されたドキュメントの条件、新しいドキュメントです.> post.comment = []
[ ]
> db.blog.update({title: "The first day"}, post)
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.blog.find()
{ "_id" : ObjectId("551641e5b1f58081c3b9d7ea"), "title" : "The first day", "content" : "It is awesome time", "date" : ISODate("2015-03-28T05:53:16.355Z"), "comment" : [ ] }
削除remove
関数は、ドキュメントを完全に削除します.参照がない場合は、セット内のすべてのドキュメントを削除します.限定条件から指定内容を削除することもできます.より多くのshell命令はhelpで確認できます.または公式docを参照してください.
ブログです