Meteorでは、データベースからレコードを取得する場合、それは単なるレコードです。したがって、、というコレクションがある場合、はまたはを持ってDogs
いるdog
可能性がありますが、メソッドはありません。fur: 'brown'
breath: 'stinky'
bark()
dog
明らかに、引数としてaを期待するいくつかの関数を作成し、それに対して操作を実行することができますdog
。これらすべての関数を単一のコンストラクターにカプセル化することもできます。私はこのアプローチに夢中ではありませんが、誰かがそれを行うためのクリーンで賢明な方法を持っているなら、私はすべての耳です。
私が持っていたもう一つの考えは、で包むことでしdog
たBackbone.Model
。これは興味深いかもしれません。また、fetch
をsave
行うように再定義することもできますし、そこですべての動作を定義することもできますが、この種のことは一般的に推奨されないことを読みました。find
insert
update
それを行う正しい方法はありますか?Meteor.Model
正式に作品にありますか?他の人はこの問題をどのように解決していますか?
編集
受け入れられた回答から1年以上後にこの質問に来た人のために:この編集の時点で、私はExygyのミニモンゴイドmrtパッケージを使用しています。これは、受け入れられた回答によってリンクされたブログ投稿に記載されているhaihappenのバージョンにいくつかの改良が加えられています。
私は現在、結果セットをより関係のようにするためにリポジトリに貢献しています。うまくいけば、他の人がそれを利用して、役立つ機能を提供したいと思うようになります。
編集
transform
コレクションを作成するときにプロパティを使用することを提案した別の回答。私は自分で構築する必要のないものを絶対に好みますが、この機能は多くの可能性を追加します。MeteorのORMに取り組んでいるチームがコアでこれを利用することを願っています。 。
transform
これは、プロパティの使用方法を説明するブログ投稿です。
また、minimongoidはMeteorパッケージとして利用できるようになり、現在も使用しています。検証と関係の宣言をサポートしています。このパッケージにもいくつかの機能を追加したので、ボードに多くのピースがある場合、指定されboard.pieces().create(attributes)
た新しいpiece
レコードを保持し、attributes
自動的にに関連付けられますboard
。私が見たさまざまなソリューションの中で、これは最も包括的なもののようです。