問題タブ [couchdb-python]
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.
python - couchdb-pythonsViewFieldのマップ関数の意味
プロジェクトの1つでcouchdb.mappingを使用しています。必要なすべてのフィールドを含むSupportCase
派生元というクラスがあります。Document
私のデータベース(と呼ばれるadmin
)には、複数のドキュメントタイプが含まれています。type
すべてのドキュメントに、それらを区別するために使用するフィールドがあります。"case"
ビューを使用して取得したいタイプのドキュメントがたくさんあります。support
と呼ばれるその中のビューで呼ばれる設計ドキュメントがありますcases
。を使用してこのビューの結果を要求すると、必要なものが含まれているのdb.view("support/cases)
リストが返さRow
れます。
SupportCase
ただし、1つの関数を呼び出して、システム内のすべてのリストを取得できるように、これをクラスでラップする必要がSupportCase
あります。ViewField
プロパティを作成しました
さて、電話するとSupportCase.all(db)
、すべてのケースが返されます。
私が理解していないのは、このビューが事前に計算されてデータベースに保存されているのか、またはと同様にオンデマンドで実行されているのかということdb.query
です。後者の場合は遅くなるので、事前に計算されたビューを使用したいと思います。それ、どうやったら出来るの?
django - Djangoテンプレートでcouchdbイメージの添付ファイルを表示する方法
Djangoでcouchdb-pythonを使用しています。テンプレートに画像 (ドキュメントへの添付ファイルとしてデータベースに保存されている) を表示する方法を探しています。奇妙なことに、これを行う方法の例をオンラインで見つけることができません。
現在、views.py には次のようなものがあります。
次に、テンプレート display.html で:
テキストは問題なく表示されていますが、画像については {u'stub':True, u'length':27018,u'revpos':19,u'content_type': u'image/jpeg しか表示されません。 '}
したがって、明らかに実際の画像を渡していないか、とにかく正しく表示していません。奇妙なことに、実際にこれを行う方法の例をオンラインで見つけることができません。誰かが私に1つを指摘するか、ここで提供できますか?
python - couchdb-python を使用して CouchDB に対するアドホック クエリの時間をミリ秒単位で取得する方法はありますか?
query() 関数を使用して、couchdb-python でアドホック JavaScript マップ関数を使用しています。クエリの処理にかかる時間を取得する方法はありますか?
スクリプトのタイミングを計ってみましたが、得られた時間が正しくないことは明らかです。query() 関数が返す ViewResult を反復処理してすべての結果を出力すると、真実に近い答えが得られると思いますが、タイミングに出力を含めたくありません..
誰でもアイデアはありますか?
本当にありがとう!
couchdb - CouchDB データベースの可能なすべてのキーを特定するにはどうすればよいですか?
製品ごとに 1 つのデータベースがあり、日付に基づいて異なるドキュメントを作成する 1 つのアプリケーションを作成しています。ドキュメント内のキーは異なる可能性があり、ユーザーが提供するものによって異なります。ユーザーは、時間の経過とともに値が変更された追跡用に同じキーを提供し続けると想定しています。最後に、自動ビューを作成する前に、考えられるすべてのキーを知る必要があります。
例: DB があるとします。たとえば、テストします。たとえば、2つのドキュメントが含まれています。
次に、この DB 内のすべてのキーを一覧表示します。したがって、答えは_id、_rev、type、content、およびextraである必要があります。
これらのキーは動的であり、ユーザーに依存します。だから、事前に知っているとは思えませんでした。
couchdb - 最初のインデックス作成の途中で CouchDB がソケット エラー 54 で停止する
Mac のローカル CouchDB データベースで ~13,000 のドキュメントを日付順に並べ替えようとしていますが、毎回ドキュメント 5407 でハングアップします。Futon のタイムアウト許容値を上げてみましたが、効果がありませんでした。これは私が得ているエラーメッセージです:
db.view('index15/by_date_time', startkey=start, endkey=end) の行の場合: ファイル "/Library/Python/2.6/site-packages/CouchDB-0.8-py2.6.egg/couchdb/client.py "、984行目、反復中 ファイル "/Library/Python/2.6/site-packages/CouchDB-0.8-py2.6.egg/couchdb/client.py"、行 1003、行 ファイル "/Library/Python/2.6/site-packages/CouchDB- 0.8-py2.6.egg/couchdb/client.py"、990 行目、_fetch ファイル内 "/Library/Python/2.6/site-packages/CouchDB-0.8-py2.6.egg/couchdb/client.py"、行 880、_exec ファイル「/Library/Python/2.6/site-packages/CouchDB-0.8-py2.6.egg/couchdb/http.py」、行 393、get_json ファイル「/Library/Python/2.6/site」 -packages/CouchDB-0.8-py2.6.egg/couchdb/http.py"、374 行目、get File "/Library/Python/2.6/site-packages/CouchDB-0.8-py2.6.egg/couchdb/ http.py"、419 行目、_request ファイル内"/Library/Python/2.6/site-packages/CouchDB-0.8-py2.6.egg/couchdb/http.py"、239 行目、リクエスト ファイル内"/Library/ Python/2.6/site-packages/CouchDB-0.8-py2.6.Egg/couchdb/http.py"、205 行目、_try_request_with_retries socket.error: 54
ちなみに、これはスクリプトにタイプミスがあるときに表示されるエラー メッセージと同じです。
次のように、couchpy を使用してビューを作成しています。
def dateTimeToDocMapper(ドキュメント):
これが実行されている間、私は Python シェルを開くことができ、server.tasks() を使用して、インデックス作成が実際に行われていることを確認できます。
>>> サーバー.タスク()
[{u'status': u'Processed 75 of 13567 changes (0%)', u'pid': u'<0.451.0>', u'task': u'gmail2 _design/index11', u'type ': u'View Group Indexer'}]
しかし、プロセス 5407/13567 でスタックするたびに変化します (ここまで到達するのに約 8 分かかります)。文書 5407 と思われるものを調査しましたが、異常ではないようです。
ちなみに、プロセスが停止した後にプロセスを再起動しようとすると、server.tasks() からこの応答が返されます。
>>> サーバー.タスク()
[{u'status': u'Processed 0 of 8160 changes (0%)', u'pid': u'<0.1224.0>', u'task': u'gmail2 _design/index11', u'type ': u'View Group Indexer'}]
つまり、couchDB は 13567 の変更のうち最初の 5407 を処理済みで、現在は 8160 しか残っていないことを認識しているようです。
しかし、その後すぐに終了し、同じ socket.error: 54 が表示されます
私は過去数時間インターネットを検索していましたが、役に立ちませんでした。Futon など、他の場所からインデックス作成を開始しようとしました。前述したように、私のエラーの 1 つは OS タイムアウト エラーであり、Futon の構成で time_out しきい値を増やすと、それが改善されたようです。
誰かがこの問題に光を当てることができれば、私は非常に感謝しています. 既にインデックスが作成された 5407 ドキュメントのプロセスを再起動する方法があるかどうか、または最初からプロセスの 3 分の 1 を終了しないようにする方法があるかどうかを考えています。
本当にありがとう。
python - couchdb-Python変更通知
couchdb.pyを使用してデータベースを作成および更新しようとしています。通知の変更を、できれば継続モードで実装したいと思います。以下に投稿されたテストコードを実行すると、Python内で変更スキームがどのように機能するかわかりません。
値
関心のある情報を返しますが、シーケンス番号やリビジョン番号、またはドキュメント情報を抽出する方法を理解していない形式で返します。
その間、私が本当に興味を持っているコードは次のとおりです。
CouchDBガイドが示唆しているように、ジェネレーターオブジェクトを返しますが、通知が届いたときに通知を提供するようには見えません...。
誰かがcouchdb-pythonの変更をうまく使用しましたか?
python - couchdb.mapping を使用し、属性を設定できない
こんにちは皆さん、そしてcouchdbのプロです。
次のようなマッピング設定があります。
ID を受け取り、次の方法で製品を返す getById という関数があります。
問題があります: 特定の製品をロードし、返された辞書を次のように設定しようとすると:
注: 最近、モデルを「返された」キーを持つように変更したばかりです。getById を使用して取得された古い製品オブジェクトには、「返された」キーが含まれていません。これは違いを生むでしょうか?結局のところ、これはドキュメント DB であり、柔軟である必要があります。
「reason」属性を設定した後でも、product.returned が空の辞書を返すのはなぜですか?
デバッグを行ったところ、product 変数の形式が次のようになっていることがわかりました。
これはどのような結果ですか?ビューの結果ですか、それともドキュメントですか?
どんな助けでも大歓迎ですありがとう!
ありがとう。
python - os.urandom(8)の出力をCouchDBに保存する方法は?
暗号化データをcouchdbに保存しようとしています。ソルトと暗号化されたパスワードをcouchdbに保存する必要があります。ソルトはPythonのos.urandom(8)を使用して生成され、そのサンプル出力は次のようになります。
ドキュメントを保存するためにpython-couchdbapiを使用しています。ドキュメントを保存しようとすると、次のようになります。
python - Pyramid リソース: 平易な英語で
新しく作成した Pyramid アプリケーションに承認 (および認証) を実装する方法について読んでいます。「リソース」という概念にぶつかり続けています。アプリケーションで python-couchdb を使用していますが、RDBMS をまったく使用していないため、SQLAlchemy はありません。次のように Product オブジェクトを作成すると:
これがリソースとも呼ばれるかどうか教えてください。私は Pyramids のドキュメント全体を読んできましたが、リソースという用語を平易な英語で説明している箇所はどこにもありません (私は単に愚かなのかもしれません)。これがリソースである場合、これは次のように ACL のものをここに貼り付けることを意味しますか?
Traversal も使用する場合、これは getitem 関数を python-couchdb Product クラス/リソースに追加することを意味しますか?
申し訳ありませんが、すべての新しい用語で本当に混乱しています (私は Pylons 0.9.7 から来ました)。
前もって感謝します。
couchdb - CouchDBでの挿入速度の急激な低下
いくつかの入力ファイルを処理し、取得したレコードをCouchDBドキュメントとして挿入しています。データベースのサイズが大きくなるにつれて、挿入速度が低下していることに気づきました。
私がしていることは:
- 入力ファイルからデータを読み取る
- データを処理して構造化ドキュメントを取得します
- ドキュメントをローカルバッファに入れます
- バッファーに1000個のドキュメントが含まれるとすぐに、couchdbの一括挿入を実行します
- 入力データが完全に処理されるまで繰り返します
ここに私の現在の実行のログがあります:
「レート」は、最後の1000のドキュメントの挿入レートを示します。これは、ご覧のとおり、非常に速く劣化しています。
- これは正常ですか?
- 高い挿入率を維持するために何かできますか?
- 大きなCouchDBデータベースの経験はありますか。
- 共有したいアドバイスはありますか?