mongodb
Mongooseは3からバージョニングという機能が入ったんだけどよくわかってなかったので調べたメモ。詳しくはここに書いてある。 http://aaronheckmann.tumblr.com/post/48943525537/mongoose-v3-part-1-versioningバージョニングを使うと何がいいかというと、…
db.foo.find().pretty()でできた。
mongo shellで > use dbname > db.dropDatabase()ドキュメントここ。 http://www.mongodb.org/display/DOCS/dbshell+Reference
plistあらかじめ用意されてるのでコピペするだけ。さすがhomebrew。 $ cp /usr/local/Cellar/mongodb/1.6.3-x86_64/org.mongodb.mongod.plist ~/Library/LaunchAgents $ launchctl load -w ~/Library/LaunchAgents/org.mongodb.mongod.plist
サーバー再起動した場合にlockファイルが残ってるので起動できなくなる。 daemontoolsで起動させてるmongodb - 橋本詳解 これはちょっとめんどいのでなんかないかなと思って探したら、ジャーナリングを有効にすればよさそう。 MongoDBは強制終了させられた場…
Ubuntuに最新版のMongoDBをインストールする - hokaccha.hamalog v2 Ubuntuに最新版のnginxをインストールする - hokaccha.hamalog v2 この辺の方法でインストールするのは簡単でいいんだけど、upstartとかinit.d的なのももれなくついてくる。自動起動は便利…
というのをSchemaのtypeに指定するとどんな型でも入れられるようになる。 var mongoose = require('mongoose') , Schema = mongoose.Schema; var FooSchema = new Schema({ bar: Schema.Types.Mixed });
embededじゃなくて正規化してリレーションしたい場合。これでいいのかわからんけど。mongoose.Schema.ObjectIdというのがSchemaの指定に使えるっぽいので var mongoose = require('mongoose') , Schema = mongoose.Schema , ObjectId = Schema.ObjectId; var…
気になったとこだけ。後で詳しく調べたいやつとかは単語だけ。 Mongoid::Versioning(Ruby)でバージョン管理みたいのできる explain()でexplainできる explainでindex使ってるかどうかを確認して重いクエリを潰す フェイルオーバーは3台以上必要 slowmsオプ…
なんかMongoDBのログの設定いじってたらOplogっていう設定項目があってなんぞと思って調べた。ここに詳しくのってる。 MongoDB Oplog入門レプリケーションの同期とかに使うやつらしい。
バックアップをとる簡単なシェルスクリプトのメモ。mongodbのdatabaseのデータをdumpしてtar.gzにして30日以上前のは消す。 #!/bin/sh DB_NAME=$1 if [ -z $DB_NAME ]; then echo 'require database name' exit fi BACKUP_BASE_DIR=/backup/db BACKUP_DIR=$B…
最初32bitにしてたけど64bitにした。理由はMongoDBが32bitだと容量2GB制限があるから。 心配してたのはメモリ使用量で、メモリ1GBしかないVPSだから32bitのほうがメモリにやさしくていいかなーと思って、32bitにしたけど、nginx+node.js+mongodbとかで色々ベ…
設定ファイルに auth = true書いとくか、起動オプションで --auth つける。管理ユーザーの追加は、ユーザーはmongoシェルで use admin db.addUser('user', 'passwd')ってする。これだけだと管理者のユーザー登録だけでDBのユーザーは別途設定が必要。 use my…
このコードはエラる。mongooseのバージョンは1.6.0。 var mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/mydb', function() { var UserSchema = new mongoose.Schema({ name: { type: String, unique: true } }); mongoose.model(…
uniqueなフィールドの名前変更したり、そのフィールド削除したりすると、Mongo側にuniqueなindexが張られてたのは残るので、saveしようとすると、 E11000 duplicate key error index: mydb.myCollection.$field_1 dup key: { : null }みたいな感じでエラる。…
MongoDBを普通にapt-getで入れると古いバージョンがインストールされる(現時点で最新が1.8.2に対して1.2.2がインストールされた)ので最新版をインストールするにはちょっと手間が必要。ここに載ってる。 Install MongoDB — MongoDB Manual 3.2手順は、まず…
やり方わからんくてソースまで読んだけど結局公式のドキュメントに書いてあったというオチ。 http://mongoosejs.com/docs/embedded-documents.html
かなりいい感じにまとまってるスライド。 MongoDB全機能解説1 MongoDB全機能解説2リレーションについて。 http://d.hatena.ne.jp/masa_w/20101130/1291084939追記していくかも。