mongodb-サーバの構築と基本的な操作
7335 ワード
シンプルなサーバの構築
1.mongodb_という名前のstudyのディレクトリ、ディレクトリ2に入ります.フォルダの作成:data、mongoのデータファイルを格納3.フォルダの作成:log、mongoのログファイルを格納4.フォルダの作成:bin、mongoの実行可能ファイルを格納する4.フォルダの作成:conf、mongoのプロファイルの格納
[ opt]# mkdir mongodb_study
[ opt]# cd mongodb_study/
[ mongodb_study]# ls
[ mongodb_study]# mkdir data
[ mongodb_study]# mkdir log
[ mongodb_study]# mkdir conf
[ mongodb_study]# mkdir bin
[ mongodb_study]# cp /usr/local/mongodb/bin/mongod bin/
[ mongodb_study]# cd conf
[ conf]# vim mongod.conf
port = 27017
dbpath = data
logpath = log/mongod.log
fork =true
[ conf]# cd ..
[ mongodb_study]# ./bin/mongod -f conf/mongod.conf
about to fork child process, waiting until server is ready for connections.
forked process: 58710
child process started successfully, parent exiting
mongoクライアント接続
[mongodb_study]# cp /usr/local/mongodb/bin/mongo bin/
[mongodb_study]# ./bin/mongo -h
[mongodb_study]# ./bin/mongo 127.0.0.1:12345
tips:なぜ最初の接続はtestデータベースに接続されたのですか.adminとlocalデータベースを誤操作して、自動的に作成するのを恐れています.tips:なぜデータベースを閉じてkill-9を使わないのですか.kill-9 mongodでmongodbサービスがオンにならない場合、/dataの下のmongodeを削除するのが解決策だと聞いていました.ロックは正常に使用できます.だからkillを使えばいいか>use adminの後に>dbを使えばいい.shutdownServer()
mongo基本操作
データベース操作
>show dbs
>use test
>db.dropDatabase()
tips:Localデータベースlocalデータベースを慎重に使用します.名前から分かるように、ローカルにデータを格納するだけです.つまり、localデータベースの内容はコピーセットの他のノードに同期しません.現在localデータベースには、レプリカセットの構成情報、oplog情報が主に格納されています.これらの情報は、各Mongodプロセス固有であり、レプリカセットの他のノードに同期する必要はありません.MongoDBを使用する場合、重要なデータはlocalデータベースに保存しないでください.そうしないと、ノードが障害を起こした場合、localに保存されているデータが失われます.tips:adminデータベースを慎重に使用Mongodがauthオプションを有効にすると、ユーザーはデータベースアカウントを作成する必要があり、アクセス時にアカウント情報に基づいて認証し、データベースアカウント情報はadminデータベースの下に格納されます.adminデータベースのシステムusers、system.rolesの2つのセットのデータは、MongoDBがメモリにcacheするため、認証のたびにディスクからユーザーロール情報をロードする必要はありません.
挿入
> use test
> db.test_collection.insert({x:1})
> show collections
> db.test_collection.find()
> db.test_collection.insert({x:2,_id:1})
> db.test_collection.insert({x:3,_id:1}) //_id
> db.test_collection.insert({x:3,_id:2})
> db.test_collection.find({x:2})
> db.test_collection.find().count()
> db.test_collection.find().skip(1).limit(1).sort({x:1})
> db.test_collection.find().sort({x:-1})
更新
> db.test_u.insert({x:100,y:100,z:100})
> db.test_u.update({z:100},{y:99}) //
> db.test_u.update({z:100},{$set:{y:99}})//
> db.test_u.update({y:100},{$set:{y:99}})//
> db.test_u.update({y:100},{$set:{y:999}},true)//
> db.test_u.update({y:999},{y:1000})//
> db.test_u.update({y:999},{$set:{y:1000}},false,true)//
削除
> db.test_u.remove() // ,
> db.test_u.remove({y:1000}) // 3