MongoDB 用語と MySQL 用語の対比
# vi /etc/yum.repos.d/mongodb-org-3.0.repo [mongodb-org-3.0] name=MongoDB Repository baseurl=http://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/x86_64/ gpgcheck=0 enabled=1 # yum -y install mongodb-org # chkconfig mongod on # systemctl start mongod
対話シェルを起動する # mongo 対話シェルを終了する > exit
データベースの一覧を表示する > show dbs データベースを使用する (未作成のデータベースであれば作成される) > use test1 使用中のデータベースを表示する > db 使用中のデータベースを削除する > db.dropDatabase()
コレクションの一覧を表示する > show collections コレクションを作成する (作成せずに直接 insert することも可) > db.createCollection('users'); コレクションを削除する > db.users.drop();
ドキュメントを挿入する > db.users.insert({name: "Tanaka", age: 26}); > db.users.insert({name: "Suzuki", age: 32}); ドキュメントを全件表示する > db.users.find(); ドキュメントを全件削除する > db.users.remove({});
ドキュメントを更新する (プロパティ更新) > db.users.update({name: "Tanaka"}, { $set: { age: 27 }}); ドキュメントを更新する (プロパティ削除) > db.users.update({name: "Tanaka"}, { $unset: { age: "" }}); ドキュメントを更新する (プロパティに1を加算) > db.users.update({name: "Tanaka"}, { $inc: { age: 1 }}); ドキュメントを更新する (プロパティ名を変更) > db.users.update({name: "Tanaka"}, { $rename: { age: "nenrei" }}); すべてのドキュメントを更新する (multi:true をつけないと、最初にマッチした 1件しか更新しない) > db.users.update({}, { $set: { age: 28 } }, { multi: true });
ドキュメントを検索する > db.users.find({name:"Tanaka"}); ドキュメントを検索する(正規表現一致) > db.users.find({name: /ka/ }); 数値の大小比較 ($gt, $gte, $lt, $lte) > db.users.find({age:{$gt:30}}); 異なるもの > db.users.find({age:{$ne:32}}); AND検索 > db.users.find({name:"Tanaka", age:26}); > db.users.find({$and: [{name:"Tanaka"}, {age:26}] }); OR検索 > db.users.find({$or: [{name:"Tanaka"}, {age:32}] }); どれかにマッチすれば > db.users.find({age: {$in: [ 26, 32 ]}}); nameプロパティのみ表示 > db.users.find({}, { _id:0, name:1 }); 1件のみ表示する > db.users.findOne(); 10件のみ表示する > db.users.find().limit(10); ソートする (1:昇順、-1:降順) > db.users.find({}).sort({name:1});