【备忘】MongoDB的引入和简单的使用方法
首先
我会从MongoDB的安装开始,记录下简单的使用方法。
ソフトウェアバージョンCentOS77.3.1611Node.jsv6.11.1Node-REDv0.17.5MongoDB3.4 Community Edition
安装MongoDB
按照官方网站的指示进行安装。
注册yum仓库
我将设置MongoDB的yum存储库。
# vi /etc/yum.repos.d/mongodb-org-3.4.repo
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
安装
我将使用yum进行安装。
# yum install -y mongodb-org
允许来自外部的连接 (Pinyin: de
出於安全考慮,預設情況下禁止外部連接,需要將設定改為允許連接。
在/etc/mongod.conf中,將bindIp: 127.0.0.1的設定行註釋掉。
vi /etc/mongod.conf
# bindIp: 127.0.0.1 # Listen to local interface only, comment to listen on all interfaces.
让我试试看
我会以服务的形式运行。 SELINUX的设置是正确的。
# systemctl start mongod.service
试用一下
这是最低限度的使用方法。
- MongoDBへの接続
> mongo
-
- データベースへの接続
既存のデータベースの場合は接続します。
新規のデータベースの場合はuseで接続した後に、コレクションを作らなければなりません。
> use [データベース名]
- コレクションの作成
> db.createCollection('コレクション名')
- データベースの一覧表示
> show dbs
- データベース内のコレクション一覧表示
> use [データベース名]
> show collections
- ドキュメントの登録
> use [データベース名]
> db.[コレクション名].insert(JSONデータ)
- ドキュメントの参照(全件)
> use [データベース名]
> db.[コレクション名].find()
- ドキュメントの参照(検索)
> use [データベース名]
# AND検索
> db.[コレクション名].find({"フィールド名":"検索値"}, {"フィールド名":"検索値"},・・・)
# OR検索
> db.[コレクション名].find({$or:[{"フィールド名":"検索値1"}, {"フィールド名":"検索値2"}]})
# 範囲検索(検索値1より大きく検索値2未満)
> db.[コレクション名].find({"フィールド名":{>:"検索値1", <:"検索値2"}})
# 取得する項目の指定方法
# 任意の数値が0の場合は非表示となる。_idを表示したくない場合は"_id":0とする。
> db.[コレクション名].find({検索条件},{"取得項目":[任意の数値], "取得項目":[任意の数値]・・・})
# 特定の項目を持つ/持たないドキュメントの検索
> db.[コレクション名].find({"フィールド名":{$exists:[true|false]}})
- ドキュメントの更新
> use [データベース名]
# ドキュメントを洗い替える場合
> db.[コレクション名].update({検索条件}, {更新後のJSONドキュメント})
# 特定の項目を更新する場合、または、新たに項目を追加する場合
> db.[コレクション名].update({検索条件}, {$set:{"フィールド名":更新内容, "フィールド名",更新内容,・・・}})
# インクリメンタル(指定したフィールドの値を増分プラスする)
> db.[コレクション名].update({検索条件}, {$inc:{"フィールド名":増分}})
# あれば更新、無ければ登録
# 第3引数にtrueを指定する。
> db.[コレクション名].udpate({検索条件}, {更新内容}, true)
- ドキュメントの削除
> use [データベース名]
> db.[コレクション名].remove({検索条件})
比较运算符
演算子記述方法>$gt>=$gte<$lt<=$lte!=$neor$or