![](https://blogimg.goo.ne.jp/user_image/1a/e9/17495efe3926769c4766c3b318318743.jpg?1722157569)
MongoDBよ許したるわwww
MongoDBのクエリ文を覚えるのがあまりにも苦痛なんで、何とかならないか?と思ってググったらこんな便利なものが出てきた。
例えば、
select id,salary from employee where age >= 35 and (designation = 'manager' or (lastname = 'johnson' and firstname like '%john%'))
を変換すると・・・
db.employee.find({
"$and": [{
"age ":{ "$gte" : 35 }
},{
"$or": [{
"designation " : 'manager'
},{
"$and": [{
"lastname " : 'johnson'
},{ " firstname " : '%john%'
}]
}]
}]
},{
"id": 1,
"salary": 1
}
);
となる。
前の記事でMongoDBのネガキャンをテメエでしといて何だが、手軽にオモチャみたいに試せるDBとして再考の余地はあると思う。
![](https://blogimg.goo.ne.jp/user_image/28/93/d8c0c40aec8afa733030b000cf4fc7e7.jpg?1722157488)
わざと負荷をかけたり、インスタンスを幾つも立ち上げたりして消えても構わないようなサンプルデータで楽しく遊びながら勉強するのも一興だし、セキュリティについて本気で対策を考えてみるのも良いし。
オ・マ・ケwww
もう二度と、絶対にMongoDBを使うべきじゃない理由
…データを無くす
…実際、長期間、デフォルトでエラーを無視し続け、何があってもすべての単一書き込みが成功したとみなした( 32ビットのシステムで3GBかそこらを使用したら、MongoDBの制限によって何の警告もなしに全データを失うことになった)。
…宣伝していたユースケースでですら遅く、これが早いと主張するには完全に証拠に欠けている
…セキュリティの問題になるくらい、応答時間が酷く遅い。求めてきた人全員に認証なしで全データをさらしてしまうという危険なデフォルト設定をパッチするのに
2年かかった
…拡張やメンテナンスをするのが大変すぎる。
…MongoDBが得意とするところは何もなくて、あるのは明らかに不得意なことばかりだ
俺様の意見だが、クエリ文がJSON形式というのが一番良くない!!!何で標準SQLじゃないんだ?ふざけんな!使い辛いんだよ!せっかく覚えた標準SQLが無駄になるだろーが!
その②:俺様の意見だが、確かに接続を求めていた者全員に対して認証無しで全データを晒してしまうのは最悪だわなwww OracleDBもSQL serverもMySQLもDBに接続するのが難関で、結局接続できなかったからな。