mongodb(二)–常用操作
13714 ワード
mongodb(二)–常用操作
記事の目次 mongodb(二)--常用操作 一、プロフィール 、データタイプ .基本データタイプ 、モンゴ文の実行方法 3.1 shellにおけるインタラクティブ実行 3.2接続時に直接 を実行します. 3.3 Javascriptファイルを実行する 3.3.1 mongodb接続は外に書いて、javascript文は を実行します. 3.3.2 mongodbの接続もjavascriptファイルの中にあります. 3.3インタラクティブshellにおいてステートメント を実行する.、データベース操作 4.1データベースを見る 4.2データベースの選択または新規作成(新規作成なし) 4.3データベースを削除する 、セット操作 5.1集合 を確認する. 5.2新しいセット 5.3セットを削除する 六、データ操作 6.1は を調べます. 6.1.1普通クエリー 6.1.2条件クエリー 6.1.3関数クエリを使用する 6.1.4個数クエリー 6.2挿入 6.3更新 6.3.1普通更新 6.3.2配列更新 6.3.3削除 、ラスト 一、概要
このセクションでは、mongodbの中の文の実行を紹介します.mogdbのデータの種類、文の実行方法、および常用添削の操作が含まれます.mongodbはjavascript shellを持参しています.javascriptインタプリタです.javascript文は何でも実行できます.
二、データタイプ
2.1基本データタイプ
タイプは公式サイトのアドレスを参照してください.https://docs.mongodb.com/manual/reference/operator/query/type/index.html mongodbでよく使われるデータの種類は以下の通りです.
データの種類
説明
例
null(Null)
空の値
{address”:null}
book(Boolean)
ブール型、trueまたはfalse
{「エクセル」:true}
string(String)
文字列
{「stuId」:「002」}
int(Integer)
型を整えて、32位あるいは64位、サーバーに依存します.
{「age」:18}
ドビー
ダブル精度浮動小数点数
{score”:99.9}
date(Date)
日付
{createTime”:ISO Date(「2019-07-28 T 03:32:22.083 Z」)}
timestamp(Timestamp)
タイムスタンプ
{udateTime”:154318837695}
ObjectId(ObjectId)
_.idデフォルトタイプ(12バイト)は、自動的に生成され、「時間+マシン+pid+カウンタ」で構成されています.
{「id」:ObjectId(「5 d 3 d 5 a 09 f 7 c 00 d 6237 da 17 ce」)
Aray
行列
{ホビー}:[[football]、[baskeetball]]
object
埋め込み文書
binary data
バイナリデータ
reglar expression
正規表現
コード
コード
三、モノゴ文の執行方式
mongo文の実行方法は、shellにおいてインタラクティブに実行され、接続時にjavascriptファイルを直接実行し実行することを含む.
3.1 shellでインタラクティブに実行する
を使用して、接続時に直接javascript文を実行します.
javascriptファイルの書き方は2種類あります.一つはjavascriptファイルの中で文だけを書いて、mongodbの接続は外に置いてください.第二に、mongodbの接続もjavascriptファイルに入れます.
また、javascriptファイルの実行方法は二つあります.一つはインタラクティブshellで実行します.二は接続時に行います.次に例を挙げて説明します.
3.3.1 mongodb接続は外に書いて、javascript文は実行します.
javascriptファイルのmono goを作成します.スクリプト1.js
javascriptファイルのmono goを作成します.スクリプト2.js
ロード方法を使用して、インタラクティブshellでステートメントを実行できます.
4.1データベースを確認する
5.1集合を確認する
例を簡単にするために、ここで関数mogo_を作成します.exeはmongodb文を実行するために用いられます.
6.1.1一般クエリ
よく使うクエリの条件は、以下のとおりです.lte:以下イコール;gt:より大きいgte:等和より大きい;ヌ:等しくないin:含むnin:含まないor:またはand:且例は以下の通りです
関数を使って速度を調べるのは遅いです.
6.3.1通常更新
フォーマットを更新:
ここにはよく使われているいくつかの操作がリストされています.もっと多くの操作は後から紹介されます.
記事の目次
このセクションでは、mongodbの中の文の実行を紹介します.mogdbのデータの種類、文の実行方法、および常用添削の操作が含まれます.mongodbはjavascript shellを持参しています.javascriptインタプリタです.javascript文は何でも実行できます.
二、データタイプ
2.1基本データタイプ
タイプは公式サイトのアドレスを参照してください.https://docs.mongodb.com/manual/reference/operator/query/type/index.html mongodbでよく使われるデータの種類は以下の通りです.
データの種類
説明
例
null(Null)
空の値
{address”:null}
book(Boolean)
ブール型、trueまたはfalse
{「エクセル」:true}
string(String)
文字列
{「stuId」:「002」}
int(Integer)
型を整えて、32位あるいは64位、サーバーに依存します.
{「age」:18}
ドビー
ダブル精度浮動小数点数
{score”:99.9}
date(Date)
日付
{createTime”:ISO Date(「2019-07-28 T 03:32:22.083 Z」)}
timestamp(Timestamp)
タイムスタンプ
{udateTime”:154318837695}
ObjectId(ObjectId)
_.idデフォルトタイプ(12バイト)は、自動的に生成され、「時間+マシン+pid+カウンタ」で構成されています.
{「id」:ObjectId(「5 d 3 d 5 a 09 f 7 c 00 d 6237 da 17 ce」)
Aray
行列
{ホビー}:[[football]、[baskeetball]]
object
埋め込み文書
binary data
バイナリデータ
reglar expression
正規表現
コード
コード
三、モノゴ文の執行方式
mongo文の実行方法は、shellにおいてインタラクティブに実行され、接続時にjavascriptファイルを直接実行し実行することを含む.
3.1 shellでインタラクティブに実行する
# shell
mongo mongodb://root:root@localhost:27017/school
#
db.stu.findOne();
3.2接続時に直接実行するを使用して、接続時に直接javascript文を実行します.
mongo mongodb://root:root@localhost:27017/school --eval "db.stu.find().pretty()"
3.3 javascriptファイルを実行するjavascriptファイルの書き方は2種類あります.一つはjavascriptファイルの中で文だけを書いて、mongodbの接続は外に置いてください.第二に、mongodbの接続もjavascriptファイルに入れます.
また、javascriptファイルの実行方法は二つあります.一つはインタラクティブshellで実行します.二は接続時に行います.次に例を挙げて説明します.
3.3.1 mongodb接続は外に書いて、javascript文は実行します.
javascriptファイルのmono goを作成します.スクリプト1.js
// stu ( json )
printjson(db.stu.findOne());
実行モンスタースクリプト1.jsファイル# javascript , --quiet , :mongo mongodb://root:root@localhost:27017/school -quiet mongo_study.js
mongo mongodb://root:root@localhost:27017/school mongo_script_1.js
3.3.2 mongodbの接続もjavascriptファイルに入れます.javascriptファイルのmono goを作成します.スクリプト2.js
//
conn = new Mongo('localhost:27017');
//
db = conn.getDB('school');
//
db.auth('root','root');
//
printjson(db.stu.findOne());
実行モンスタースクリプト1.jsファイルmongo mongo_script_2.js
3.3.3インタラクティブshellで文を実行するロード方法を使用して、インタラクティブshellでステートメントを実行できます.
# shell
mongo mongodb://root:root@localhost:27017/school
#
load('mongo_script_1.js')
同時にロードは、javascriptファイルに他のjavascriptファイルをロードするためにも使用できます.//js_util.js
function get_date() {
return new Date();
}
//mongo_script_1.js
load('js_util.js');
print(get_date());
四、データベース操作4.1データベースを確認する
#
db;
#
show dbs;
4.2データベースの選択または新規作成(なしで新規作成)# ( ) , use school;
use db_name;
4.3データベースの削除#
db.dropDatabase;
五、集合操作5.1集合を確認する
# , show tables
show collections
5.2新しい集合# , , , :db.createCollection('stu')
db.createCollection(collection_name)
5.3セットを削除する# , :db.stu.drop()
db.collection.drop()
六、データ操作例を簡単にするために、ここで関数mogo_を作成します.exeはmongodb文を実行するために用いられます.
function mongo_exe(){
mongo mongodb://root:root@localhost:27017/school -eval "$1"
}
6.1参照6.1.1一般クエリ
#
mongo_exe "db.stu.findOne()"
# ( )
mongo_exe "db.stu.findOne().pretty()"
#
mongo_exe "db.stu.find()"
# ,limit: skip: sort: (1: -1: )
mongo_exe "db.stu.find().limit(4).skip(1).sort({'stuId':-1})"
# , , :{ "_id" : ObjectId("5d3d5a09f7c00d6237da17ce"), "stuId" : "011", "score" : 2, "hobby" : [ "sleep", "run", "jump" ] }
mongo_exe "db.stu.find({'hobby':'run'})"
# ,
mongo_exe "db.stu.find({'hobby':{\$all:['run', 'jump']}})"
# ,
mongo_exe "db.stu.find({'hobby':{\$size:3}})"
6.1.2条件照会よく使うクエリの条件は、以下のとおりです.lte:以下イコール;gt:より大きいgte:等和より大きい;ヌ:等しくないin:含むnin:含まないor:またはand:且例は以下の通りです
# ,($gt),>=($gte)
mongo_exe "db.stu.find({'age':{\$gt:17}})"
mongo_exe "db.stu.find({'age':{\$lte:18}})"
# ,$ne
mongo_exe "db.stu.find({'age':{\$ne:18}})"
# ,$in, $nin
mongo_exe "db.stu.find({'age':{\$in:[17,18]}})"
# ,$or
mongo_exe "db.stu.find({\$or:[{'age':17}, {'age':18}]})"
6.1.3関数で照会する関数を使って速度を調べるのは遅いです.
# ,this
mongo_exe "db.stu.find({'\$where':function(){
if(this.age == 18){
return true;
}
return false;
}})"
# ,
mongo_exe "db.stu.find({'\$where':'this.age==18'})"
6.1.4個数クエリ#
mongo_exe "db.stu.count({'age':18})"
6.2挿入#
mongo_exe "db.stu.insert({'stuId':'003', 'stuName':'apple3', 'age':18, 'createTime':new Date(),excellent:true, , 'score':99.9, 'address':null, 'updateTime':new Date().getTime(),hobby:['football', 'basketball'], 'teacher':{'schoolName':'No1 middle school'}})"
#
mongo_exe "db.stu.insert([{'stuId':'010'},{'stuId':'011'},{'stuId':'012'}])"
6.3更新6.3.1通常更新
フォーマットを更新:
db.collection.update(
, #
, #
{
upsert:boolean, # ,true: , false
multi:boolean, # ,true: , false( )
writeConsern: # ,
}
例は以下の通りです# ,
mongo_exe "db.stu.update({'_id':ObjectId('5d3d1cde73917bf1cb6f39fd')},{'stuId':'013', 'age':19})"
# ( save),_id ,
mongo_exe "db.stu.save({'_id':ObjectId('5d3d1cde73917bf1cb6f39fd'),'stuId':'015','stuName':'apple015'})"
mongo_exe "db.stu.save({'stuId':'016','stuName':'apple016','age':17})"
# ($set)
mongo_exe "db.stu.update({'stuId':'011'},{\$set:{'stuName':'apple012'}})"
# ($inc)
mongo_exe "db.stu.update({'stuId':'011'},{\$inc:{'score':1}}, {upsert:true})"
6.3.2配列更新# ($push),
mongo_exe "db.stu.update({'stuId':'011'},{\$push:{'hobby':'sleep'}}, {upsert:true})"
# ($push, $each),
mongo_exe "db.stu.update({'stuId':'011'},{\$push:{'hobby':{'\$each':['run','jump']}}}, {upsert:true})"
# ($addToSet), ,
mongo_exe "db.stu.update({'stuId':'011'},{\$addToSet:{'hobby':'run'}}, {upsert:true})"
# ($pop), , , 1: -1:
mongo_exe "db.stu.update({'stuId':'011'},{\$pop:{'hobby':1}})"
# ($pull),
mongo_exe "db.stu.update({'stuId':'011'},{\$pull:{'hobby':'jump'}})"
6.3.3削除#
mongo_exe "db.stu.remove({'stuId':'010'})"
ラストここにはよく使われているいくつかの操作がリストされています.もっと多くの操作は後から紹介されます.