インストール
Homebrewでインストール
brew install mongodb ==> Downloading http://fastdl.mongodb.org/osx/mongodb-osx-x86_64-2.2.2.tgz ######################################################################## 100.0% ==> Caveats To have launchd start mongodb at login: ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents Then to load mongodb now: launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist Or, if you don't want/need launchctl, you can just run: mongod /usr/local/Cellar/mongodb/2.2.2-x86_64: 20 files, 170M, built in 98 seconds
上にあるようにログイン時に起動してロードするには
ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
起動
mongod
接続
mongo
チュートリアル
> use mydb switched to db mydb > db mydb > j = {name: 'mongo'}; { "name" : "mongo" } > k = {x: 3} { "x" : 3 } > db.things.insert(j) > db.things.insert(k) > show collections system.indexes things > db.things.find() { "_id" : ObjectId("50caeb1fdab5ce4e84a41f78"), "name" : "mongo" } { "_id" : ObjectId("50caeb29dab5ce4e84a41f79"), "x" : 3 }
ループで挿入
> for (var i = 1; i <= 20; i++) db.things.insert({x:4, j:i}) > db.things.find() { "_id" : ObjectId("50caeb1fdab5ce4e84a41f78"), "name" : "mongo" } { "_id" : ObjectId("50caeb29dab5ce4e84a41f79"), "x" : 3 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f7a"), "x" : 4, "j" : 1 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f7b"), "x" : 4, "j" : 2 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f7c"), "x" : 4, "j" : 3 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f7d"), "x" : 4, "j" : 4 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f7e"), "x" : 4, "j" : 5 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f7f"), "x" : 4, "j" : 6 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f80"), "x" : 4, "j" : 7 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f81"), "x" : 4, "j" : 8 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f82"), "x" : 4, "j" : 9 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f83"), "x" : 4, "j" : 10 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f84"), "x" : 4, "j" : 11 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f85"), "x" : 4, "j" : 12 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f86"), "x" : 4, "j" : 13 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f87"), "x" : 4, "j" : 14 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f88"), "x" : 4, "j" : 15 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f89"), "x" : 4, "j" : 16 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f8a"), "x" : 4, "j" : 17 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f8b"), "x" : 4, "j" : 18 } Type "it" for more > it { "_id" : ObjectId("50caeee0dab5ce4e84a41f8c"), "x" : 4, "j" : 19 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f8d"), "x" : 4, "j" : 20 }
カーソル操作
> var c = db.things.find() > while (c.hasNext()) printjson(c.next()) { "_id" : ObjectId("50caeb1fdab5ce4e84a41f78"), "name" : "mongo" } { "_id" : ObjectId("50caeb29dab5ce4e84a41f79"), "x" : 3 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f7a"), "x" : 4, "j" : 1 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f7b"), "x" : 4, "j" : 2 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f7c"), "x" : 4, "j" : 3 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f7d"), "x" : 4, "j" : 4 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f7e"), "x" : 4, "j" : 5 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f7f"), "x" : 4, "j" : 6 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f80"), "x" : 4, "j" : 7 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f81"), "x" : 4, "j" : 8 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f82"), "x" : 4, "j" : 9 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f83"), "x" : 4, "j" : 10 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f84"), "x" : 4, "j" : 11 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f85"), "x" : 4, "j" : 12 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f86"), "x" : 4, "j" : 13 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f87"), "x" : 4, "j" : 14 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f88"), "x" : 4, "j" : 15 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f89"), "x" : 4, "j" : 16 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f8a"), "x" : 4, "j" : 17 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f8b"), "x" : 4, "j" : 18 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f8c"), "x" : 4, "j" : 19 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f8d"), "x" : 4, "j" : 20 }
カーソルで配列の操作
> var c = db.things.find() > printjson(c[4]) { "_id" : ObjectId("50caeee0dab5ce4e84a41f7c"), "x" : 4, "j" : 3 } > c.toArray() [ { "_id" : ObjectId("50caeb1fdab5ce4e84a41f78"), "name" : "mongo" }, { "_id" : ObjectId("50caeb29dab5ce4e84a41f79"), "x" : 3 }, { "_id" : ObjectId("50caeee0dab5ce4e84a41f7a"), "x" : 4, "j" : 1 }, { "_id" : ObjectId("50caeee0dab5ce4e84a41f7b"), "x" : 4, "j" : 2 }, { "_id" : ObjectId("50caeee0dab5ce4e84a41f7c"), "x" : 4, "j" : 3 }, { "_id" : ObjectId("50caeee0dab5ce4e84a41f7d"), "x" : 4, "j" : 4 }, { "_id" : ObjectId("50caeee0dab5ce4e84a41f7e"), "x" : 4, "j" : 5 }, { "_id" : ObjectId("50caeee0dab5ce4e84a41f7f"), "x" : 4, "j" : 6 }, { "_id" : ObjectId("50caeee0dab5ce4e84a41f80"), "x" : 4, "j" : 7 }, { "_id" : ObjectId("50caeee0dab5ce4e84a41f81"), "x" : 4, "j" : 8 }, { "_id" : ObjectId("50caeee0dab5ce4e84a41f82"), "x" : 4, "j" : 9 }, { "_id" : ObjectId("50caeee0dab5ce4e84a41f83"), "x" : 4, "j" : 10 }, { "_id" : ObjectId("50caeee0dab5ce4e84a41f84"), "x" : 4, "j" : 11 }, { "_id" : ObjectId("50caeee0dab5ce4e84a41f85"), "x" : 4, "j" : 12 }, { "_id" : ObjectId("50caeee0dab5ce4e84a41f86"), "x" : 4, "j" : 13 }, { "_id" : ObjectId("50caeee0dab5ce4e84a41f87"), "x" : 4, "j" : 14 }, { "_id" : ObjectId("50caeee0dab5ce4e84a41f88"), "x" : 4, "j" : 15 }, { "_id" : ObjectId("50caeee0dab5ce4e84a41f89"), "x" : 4, "j" : 16 }, { "_id" : ObjectId("50caeee0dab5ce4e84a41f8a"), "x" : 4, "j" : 17 }, { "_id" : ObjectId("50caeee0dab5ce4e84a41f8b"), "x" : 4, "j" : 18 }, { "_id" : ObjectId("50caeee0dab5ce4e84a41f8c"), "x" : 4, "j" : 19 }, { "_id" : ObjectId("50caeee0dab5ce4e84a41f8d"), "x" : 4, "j" : 20 } ]
クエリ
> db.things.find({name : "mongo"}) { "_id" : ObjectId("50caeb1fdab5ce4e84a41f78"), "name" : "mongo" } > db.things.find({x : 4}, {j : true}) { "_id" : ObjectId("50caeee0dab5ce4e84a41f7a"), "j" : 1 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f7b"), "j" : 2 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f7c"), "j" : 3 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f7d"), "j" : 4 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f7e"), "j" : 5 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f7f"), "j" : 6 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f80"), "j" : 7 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f81"), "j" : 8 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f82"), "j" : 9 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f83"), "j" : 10 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f84"), "j" : 11 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f85"), "j" : 12 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f86"), "j" : 13 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f87"), "j" : 14 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f88"), "j" : 15 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f89"), "j" : 16 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f8a"), "j" : 17 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f8b"), "j" : 18 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f8c"), "j" : 19 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f8d"), "j" : 20 }
数の指定
> db.things.findOne() { "_id" : ObjectId("50caeb1fdab5ce4e84a41f78"), "name" : "mongo" } > db.things.find().limit(3) { "_id" : ObjectId("50caeb1fdab5ce4e84a41f78"), "name" : "mongo" } { "_id" : ObjectId("50caeb29dab5ce4e84a41f79"), "x" : 3 } { "_id" : ObjectId("50caeee0dab5ce4e84a41f7a"), "x" : 4, "j" : 1 }
参考になりそうな
- Getting Started with the MongoDB JavaScript Shell — MongoDB Manual http://docs.mongodb.org/manual/tutorial/getting-started/
- MongoDBの薄い本(The Little MongoDB Book) - cuspy diary http://www.cuspy.org/diary/2012-04-17
No comments:
Post a Comment