問題タブ [couchdb-nano]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - AngularJS を使用してサードパーティ API から CouchDB にデータを保存する
AngularJS を使用してフロントエンド アプリをビルドしています。いくつかのサードパーティ API とやり取りし、問題なくデータを取得しています。
アプリの次のステップは、検索が行われるたびにこのデータを CouchDB に保存することです。少しずつ独自のデータベースを構築し、最終的にはサードパーティの API ではなくデータベースに依存したいと考えています (たとえば、アプリは最初にデータベースにクエリを作成し、必要なものが見つからない場合はサードパーティの API から取得します)。 、フロントエンドに表示されますが、データベースにも保存されるため、次回同じ検索が実行されると、結果は私のリソースから取得されます)。
nodejs といくつかのモジュール (express、nano など) を使用する必要がありますか? それとも AngularJS だけに依存して DB にデータを書き込むことができますか?
couchdb - couchdb 内のすべてのビュー名のリストを取得する
[dscape/nano][1] を使用して、couchdb のデータベースのすべてのビューのリストを取得することは可能ですか? curl リクエストだけで取得できる最も近いものは次のとおりです。
上記は、javascript 関数を含むすべてのビューを返します。しかし、ビュー名だけを抽出したいと思います。
node.js - Nodejs は CouchDB からビデオをストリーミングし、ビデオ タグに表示します
NodeJS の nano ミドルウェアを使用して、CouchDB からビデオ添付ファイルをストリーミングしようとしています。ビデオはブラウザで受信されます。クライアントでストリーミングする方法と、HTML タグで表示する方法がわかりません。
hereから見つけたCouchDBから添付ファイルを読み取るためのNodeJSコードは次のとおりです。
クライアント側では、私の ajax 呼び出しは次のようになります。
HTML Video タグでは次のようになります。
Blob がビデオをビデオ タグにストリーミングする正しい方法かどうかはわかりません。ストリームをビデオ タグに追加するにはどうすればよいですか?
編集 :
あなたは正しいブリアンチルです。できます!動画のURLを設定しました。しかし、ビデオタグで取得するのはこれです:
しかし、再生をクリックしてもビデオが再生されません。しかし、inspect 要素からリンクをクリックすると、新しいブラウザ ウィンドウでビデオが再生されます。
この解決策はほとんどありません。
express - Node.js Express 4.0 & 恐るべきcouchdb (nano) への複数の画像添付
Express 4と手ごわいを使用して、nano経由でcouchdbに複数の画像を挿入しようとしています。formidable と nano を使用して個々のファイルに問題なくアクセスして挿入できますが、ファイルを次々と挿入しようとすると、競合エラーが発生します。私はjsとノードに非常に慣れていないため、コールバックと非同期関数の理解が限られていることを知っています. これは私が現時点で持っているものです。どんな助けでも大歓迎です。
};
node.js - nodejs を使用した CouchDB の設計
実際の DAL が利用された CouchDB の経験がある人はいますか? CouchDB は、特に他のデータストアとは異なります。データに興味深いダイナミクスを追加するビューの概念により、ビジネスロジックの分離...アプリケーションのソースコードを制御するリビジョンは言うまでもありません。
補足: Nano のようなライブラリは DAL ではありません。これらは、データベース ドライバーに似ています。Nano をビジネス ロジックから直接使用すると、アプリケーションが CouchDB に結び付けられます。私が欲しいものではありません。代わりに、カスタム メイドの DAL は Nano をドライバーとして使用しますが、ビジネス ロジックを Nano から完全に分離します。
質問: 読むべきベスト プラクティスやドキュメントはありますか? 一般的なことのためにMongoDBとCouchDBを切り替えることができる既存のDALはありますか(私がやろうとしていることの出発点として機能します)?
javascript - ドキュメントが CouchDB nodejs nano に存在するかどうかを確認するカスタム関数
Google で回答を探していましたが、見つかった結果に基づいて、nano モジュールを使用して CouchDB にテーブルが存在するかどうかを確認できます。
ただし、カスタム関数にしようとすると、常に「未定義」が返されます。関数は次のとおりです。
あれを呼べ:
ここで何が間違っていたのですか?私はそれを正しく理解できないようです。
javascript - 409 競合ドキュメントを処理する
私はこの問題についていくつかの調査を行ってきました.couchdbはドキュメントの競合が多すぎます.
私は、nano で CouchDB ドキュメントを更新するという解決策を見てきました。
- ドキュメントを取得
- _rev を保存する
- 変更を適用する
- 保存された _rev で更新されたドキュメントを送信してみてください
- 409 の場合は手順 1 に進みます
そして、最後のステップまで、それを行う関数を作成しようとしました:
これは私の予想に近いものですが、2 つのウィンドウを開いて同じリクエストを連続して行うと、2 つのドキュメントが競合してサーバーがクラッシュするポイントに到達します。
ですから、'5. 409' の場合は手順 1 に進みます。同じ関数を再帰的に呼び出す必要があるということですか? ドキュメントが競合し続けると、間違いなく無限ループになり、サーバーが再びクラッシュするだけです。現在、私がやっていることは、5 秒ごとに 1 つ以上のリクエストを許可しないことですが、将来的にはうまくいきません。
nodejsでnanoを使用して、409の競合するCouchDBドキュメントを正しく処理するにはどうすればよいですか?
node.js - nanoおよびcouchdbでノードを使用する場合のECONNREFUSED
今日まで、アプリケーションにnodejs + nano + cookdbを正常に使用していました。アプリケーションを実行しようとすると、何らかの理由で突然 ECONNREFUSED が発生します。Web ブラウザーまたは別のアプリケーション (Java アプリケーション) を使用してデータベースにクエリを実行しようとすると、正常に動作します。なぜこのシナリオで機能しなくなったのかはわかりません。私は過去2日間調査を行ってきましたが、助けが見つかりません。これは、オープンな接続が多すぎることに関係しているのではないかと思いますが、それは私の知識の範囲外です。この問題のデバッグに関する洞察や、私が進むべき方向性を教えてくれる人はいますか? このcouchdbはiriscouchに住んでいることに言及する必要があります