MongoDBでらくらくバッチ処理をやる(Javascriptファイルを実行する)方法
make_users.js
for (var i = 1; i<= 10000 ; i++) {
var user = {
id : i,
name : "nanashi_" + i ,
created_on : new Date()
};
db.collection.save(user);
}
実行します。$ bin/mongo --quiet localhost/testdb make_users.js
1万件でも1秒未満で終わります。速い!Mongoシェルに入って結果を確認します。
$ bin/mongo localhost/testdb
MongoDB shell version: 2.0.4
connecting to: localhost/testdb
> db.collection.count();
10000
おー、ちゃんと1万件と出ました。中身はどうなってるでしょうか。
> db.collection.find().limit(10);
{ "_id" : ObjectId("4f99796868d127208cdd04ab"), "id" : 1, "name" : "nanashi_1", "created_on" : ISODate("2012-04-26T16:35:52.736Z") }
{ "_id" : ObjectId("4f99796868d127208cdd04ac"), "id" : 2, "name" : "nanashi_2", "created_on" : ISODate("2012-04-26T16:35:52.736Z") }
{ "_id" : ObjectId("4f99796868d127208cdd04ad"), "id" : 3, "name" : "nanashi_3", "created_on" : ISODate("2012-04-26T16:35:52.736Z") }
{ "_id" : ObjectId("4f99796868d127208cdd04ae"), "id" : 4, "name" : "nanashi_4", "created_on" : ISODate("2012-04-26T16:35:52.736Z") }
{ "_id" : ObjectId("4f99796868d127208cdd04af"), "id" : 5, "name" : "nanashi_5", "created_on" : ISODate("2012-04-26T16:35:52.736Z") }
{ "_id" : ObjectId("4f99796868d127208cdd04b0"), "id" : 6, "name" : "nanashi_6", "created_on" : ISODate("2012-04-26T16:35:52.736Z") }
{ "_id" : ObjectId("4f99796868d127208cdd04b1"), "id" : 7, "name" : "nanashi_7", "created_on" : ISODate("2012-04-26T16:35:52.736Z") }
{ "_id" : ObjectId("4f99796868d127208cdd04b2"), "id" : 8, "name" : "nanashi_8", "created_on" : ISODate("2012-04-26T16:35:52.736Z") }
{ "_id" : ObjectId("4f99796868d127208cdd04b3"), "id" : 9, "name" : "nanashi_9", "created_on" : ISODate("2012-04-26T16:35:52.736Z") }
{ "_id" : ObjectId("4f99796868d127208cdd04b4"), "id" : 10, "name" : "nanashi_10", "created_on" : ISODate("2012-04-26T16:35:52.736Z") }
ばっちりですね!こんな感じで、Javascriptさえ書ければ割とどうにでもできてしまうMongoDBかわいいよMongoDB
関連記事
- MongoDBのshellで、クエリ結果をファイルに保存(または標準出力)する方法
- MongoDBで、インタラクティブシェルの詳しい使い方を調べる方法
- MongoDB : サルでもわかるMapReduce
- MongoDB:MapReduceの手続きを外部jsファイルに保存して実行する方法
カテゴリ:
MongoDB