タグ

2020年2月14日のブックマーク (2件)

  • MongoDB + Node.js + TypeScriptが強力だった

    はじめにlink MongoDB (node-mongodb-native) + Node.js + TypeScriptRDB 並のスキーマ定義と、NoSQL の開発しやすさを両立できたのでまとめます。 Node.js と MongoDBlink MongoDB はドキュメント指向データベースです。簡単に言えば JSON のような形でデータを保持できる NoSQL です。 MySQL や Postgres などの RDB と違い、事前に CREATE TABLE のようなコマンドを打たなくても、insert されたタイミングで collection が作成され、データが保存されます。 また、MongoDB は後発のデータベースということもあり、RDB では 1 クエリで素直に表すことが難しいクエリも多くがクエリ化されていて 1 トランザクションで実行が可能です。(findOrUpd

    MongoDB + Node.js + TypeScriptが強力だった
  • MongoDB + Jestのテスト方法

    はじめにlink MongoDB のテストを書いて、自分なりの方法が落ち着いたのでまとめる。 結論: mongodb-memory-server を利用する。 物の MongoDB を使う方法(不採用)link 自分は middleware なども含めてテストするために、実環境と同じ環境を用意して単体テスト時もそれらを利用するのが基方針だった。 そこで MongoDB のテストもテスト用の DB を用意したが、DB を利用したテストでつきまとうテストの ABA 問題(初期化処理が二重に走って後続のテストが失敗する)に引っかかり、解決策を考えていた。 普段は並列数に合わせて CREATE DATABASE して DB 接続部分でそれぞれ被らないようにつなげる、という手法をよくやるのだが、Jest で並列数を固定化する方法にたどり着けなかった。 テスト開始のたびに自動で増やし続けてもいいが

    MongoDB + Jestのテスト方法