General InformationDocumentationDeveloper Articles & TopicsCommunity ForumsBlogUniversity
Customer success storiesMore than 47,800 customers have chosen to build the applications of today and tomorrow on MongoDB. To provide the best online customer experience possible, Ulta Beauty selected MongoDB Atlas to transform their legacy technology stack into a secure, scalable, and agile solution.
タイトルのとおりですが、ケースとしてはFlaskみたいな軽いフレームワークでMongoDBをデータベースに使うModelを自分で実装するような場合です。 実際にデータベースを動かすModelのテストを書くときに、FlaskはフルスタックのDjangoと違って何も面倒を見てくれないので、自分でテストのときだけ使用するdbの作成、破棄などを行う必要があります。 やりたいことは、 テスト起動時にテスト用のdb('test')を作成 テスト用のデータ(json)を予めdbに入れておく Modelクラスのメソッドをテスト テスト終了時にテスト用のdbの破棄 という流れです。mongodの起動と終了まで面倒を見てくれるともっと便利なはずですが、今回はそこまで求めなかったので、mongodは事前に起動しているという前提になります。 *1 コードにするとこんな感じです。Python2.7で動作確認していま
var mongoose = require('mongoose') mongoose.connect("mongodb://localhost/oauth_test"); var userSchema = new mongoose.Schema({ uid: Number }); // mogooseからfindAndModifyがみれないので追加 userSchema.statics.findAndModify = function(query, sort, doc, options, callback) { return this.collection.findAndModify(query, sort, doc, options, callback); }; var User = mongoose.model('User', userSchema); var passport =
今回はNode.js + MongoDBの組み合わせを使ったシステムのアーキテクチャについて書いてみようと思います。コードの類いは殆どありません。 非同期ノンブロッキング、Webサービス全般 MongoDBが主の記事ですが、題名はNode.jsから始まってます。これは今回のアーキテクチャ考のスタートポイントがNode.jsだからです。Node.jsの特徴というと サーバーサイド javascriptでそれなりに高速 非同期ノンブロッキング主義 対話型インタープリタで色々試しながら開発できる というのが個人的に気に入っている点なんですが、これってWebサービス全般を書くにはよさそうだなぁとか普段から考えていました。どうしてかと言うと、一般にWebサービスと言えば 不特定多数が不特定なタイミングで利用する 多数のユーザーに個別な処理がある 多数のユーザーでの共有な処理がある レスポンスは早けれ
Big Data is on every CIO’s mind. It is presently synonymous with open source technologies like Hadoop, and the ‘NoSQL’ class of databases. Another technology that is shaking things up in Big Data is R (www.r-project.org, #rstats). R is an open source programming language and software environment designed for statistical computing and visualisation. The statistical software R is the fastest growing
なんでMongoDBでセッション管理するのか Node.js + Express (Connect) で標準で提供されている MemoryStore でセッション管理を行うとメモリ上での管理になるため node が落ちるとセッションデータが消えることになりセッションの永続化ができませんし、動作確認もソースの確認も行っていませんが、production で起動した際に出力されるメッセージ(https://github.com/senchalabs/connect/blob/master/lib/middleware/session.js#L199)に Warning: connection.session() MemoryStore is not designed for a production environment, as it will leak memory, and will n
一つのサービスで、負荷分散のために複数のWebサーバ(nginx)を運用している場合、アクセスログなどがバラバラに散らばっていて、ログからなにか調べようと思ったり、統計をとったりするのが面倒だったりします。 そこで、ここ最近はやっているfluentdを導入してみました。うわさ通り簡単。 イメージはこんな感じ。 fluentdのインストール ログを送信する側と、受信する側、両方にfluentdが入っている必要があります。 今回はAWSのディストリだったので、yum経由でインストール。公式サイトに記載されている下記コマンド一発で完了です。他にもapt-get / gem / brewでも簡単に入れられます。 curl -L http://toolbelt.treasure-data.com/sh/install-redhat.sh | sh Installing Fluentd Using r
MongoDBは10genにより開発/サポートされているC++で実装されたオープンソースのデータベースです。 いわゆるNoSQLに分類されるタイプのデータベースで対障害性とスケーラビリティに優れ、またNoSQLでは珍しくインデックスをサポートしており表結合(JOIN)は出来ないながらRDBMSの様な使い方が出来る事も大きな特徴です。 MongoDBはレプリカセットと呼ばれる冗長構成(クラスタ)を組むことができます。 レプリカセットには唯一のプライマリノード(PRIMARY)とセカンダリノード(SECONDARY)複数を含める事ができ、クラスタに対する書き込みは全てPRIMARYに対して行われます。 PRIMARYに対する更新は速やかに全てのSECONDARYにコピーされ安全に保持されます。 レプリカセットでは万一PRIMARYを喪失した場合でも自動的にそれを検知し任意のSECONDARY
Awesome home automation with Raspberry PI and Arduino using Node.js, MongoDB, HTML5 and Websockets. ResponsiveThe responsive design allows you comfortable control of your home devices using your smartphone or tablet. EverywhereOpen your Raspberry PI to the world and access your home automation app from everywhere in the world. ExtendableAn elaborated plugin system makes it easy to extend the appli
3T is halting development work on Robo 3T and we are setting the code repository to read-only. Users can continue to download the application but we recommend that they download Studio 3T Free to evaluate it. Robo 3T is deeply based on the Mongo shell client. This older client has been deprecated in MongoDB 5.0 and is not expected to be maintained in the future. The new Mongosh client is a Node-ba
Index RealTimeAccess集計 Capped Collection Tailable Cursor まとめ RealTimeAccess集計 RealTimeAccess集計をするためにMongoDBの利用を考えます。サーバーの構成は上図のようなイメージで各種ApplicationServerからFluentdでLogAggregatorにRealTimeでLogデータを転送し、LogAggregator MasterがMongoDBにFluentdで書き込んで行きます。ここで言うRealTimeAccess集計の機能要件を整理すると以下のようになります。 Access発生後、1分以内で集計結果をWebツール上で確認したい。集計区間も1分単位など。 複数条件が指定可能で、柔軟なCross集計がしたい。 RealTimeAccess集計のSystem負荷を出来る限り抑えたい。
MySQL Performance Blogの翻訳。MySQLのようなリレーショナルデータベースと、ドキュメント志向データベースMongoDBでのスキーマデザインの違いについて。 2013/08/01 by Stephane Combaudon リレーショナルデータベースに慣れている人がMongoDBのようなNoSQLのソリューションを使うのは、面白いチャレンジになるだろう。そのうちのひとつが、スキーマのデザインだ。リレーショナルな世界では、正規化がいいとっかかりだが、新しくMongoDBのアプリケーションを作るときには、データ保存についてどうデザインすべきだろうか? 簡単な例を挙げて、MySQL(というかあらゆるリレーショナルデータベース)でデータ構造をどう作るか、そしてMongoDBではどうかを見てみよう。個人情報(名前)とその人のパスポートの詳細(国籍と有効期限)を保存したい、という
外部でJSなファイルを作ってmongoでごにょごにょするケース var mdb = db.getMongo(); mdb.getDB("admin").auth("user", "pass"); var cdb = mdb.getDB("sample") cdb.getCollection("samples").find().forEach(function(sample) { printjson(sample); }); ってな感じで。例えばテストする際にMongoDBを初期化してテストデータをぶち込んだりする処理をする場合とかにスクリプトを事前に作っておいてごにょごにょするケースもありえそうな気も 例えばPerlでModule::Install::TestTargetとかを使ってテスト時にmongoを初期データを構成したいとか default_test_target( insert_
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く