私は、Pythonのcouchdbライブラリにドキュメントマッピングクラスを使用しようとしていますが、ドキュメントが非常に不十分であることがわかりました
使用している Document サブクラスでビューを定義する方法に関する数行のコードが含まれていますが、これらは COuchDB 設計ドキュメントと同期されていません。CouchDB 設計ドキュメント ( Futon を使用) と python クラスで同じコードを使用して同じビューを作成しようとしましたが、同期しません。カウチ クエリなどの他のライブラリで動作するビューを取得できるため、問題のビュー自体ではありません。残念ながら、JavaScript または Python で動作します。ドキュメントに関連付けたい機能を含めるために、DOcument サブクラスを使用することを約束しました。サブクラス。ここで、さまざまなフィールドタイプによって提供されるマッピングなしで、ストレート Doc クラスを使用してビューを CouchDB に同期する方法に関する他の良い情報を見つけました。 PythonでCouchDB設計ドキュメントをロードするための推奨アプローチ? ここ : http://markhaase.com/2012/06/23/couchdb-views-in-python/
ドキュメントで説明されている両方の形式を使用しました。
class Person(Document):
... name = TextField()
... age = IntegerField()
... by_name = ViewField('people', '''\
... function(doc) {
... emit(doc.name, doc);
... }''')
と:
class Person(Document):
... name = TextField()
... age = IntegerField()
...
... @ViewField.define('people')
... def by_name(doc):
... yield doc['name'], doc ( for Python views ):
ビューが呼び出されると失敗し、その理由はすぐにわかります: Futon を調べると、ビューがデザインドキュメントにないことがわかります
さまざまな方法でデザインドキュメントにビューを作成すると、ビューは機能しますが、 Document サブクラス (この例では Person クラス) に接続されません。
ビューの結果を取得するためにcouch-queryを使用し、それらのオブジェクトを別のライブラリpythoncouchdbのDOcumentサブクラスにゲリマンダーしようとしましたが、これがもっとリラックスできることを望んでいたと思いますが、これは非常に必死のようですとにかく、ソファクエリの辞書情報に簡単にアクセスすることさえできません。これがどのように機能するかを誰かが教えてくれるかどうか教えてください。ドキュメントに完全に欠落している簡単な答えがあると思います。さもなければ、誰もドキュメント マッピング機能を記述していないでしょう。