ボンゴボンゴ

parakeetではMongoDBのORMとして go-bongo/bongo を使っている。
こいつのベースが globalsign/mgo で、これは公式のMongoDBドライバーではない。

さて、MongoDBのURLは2種類あって、

  • 昔からある mongodb://user:password@server1,server2,server3/dbName?replSet=hogehoge
  • 3.6で追加された mongodb+srv://user:[email protected]/dbName

みたいな感じになっている。
当然、後者のほうがスッキリしてる。

このブログを立ち上げるときも後者のURLを使おうとしたんだけど、「DBが見つからない」っていうエラーで死ぬ。
繋がらないならともかく、見つからないってなんだよって思ったんだけど、どうやら globalsign/mgo は後者の形式に対応してないし、フォーマットエラーも出さないっぽい。

Support DNS seedlist / mongodb+srv:// · Issue #112 · globalsign/mgo

覚えておこうね。