2
私は2クラスありますMongoDB C#ドライバ - オブジェクトクラスを変更せずにクラスを参照で保存するには?
public class Store
{
public Guid ID;
public List<Product> Products;
}
public class Product
{
public Guid ID;
public string Name;
}
私はMongoDBの中で、「ストア」を保存したいが、私は店舗のコレクションは、スペースを節約するために、「製品」(の内容を含めたくないし\重複)。 Productの別のコラボレーションを作成し、一致するドキュメントへのID参照を使用したいと思います。
MongoDB 2.4.4 C#ドライバは、モデルを変更せずにこれをサポートしていますか? (私はそれらを変更することはできません - API呼び出しで使用されます)。どのように実装できますか?
「DBRef」は使用しないでください。多くの操作ではサポートされていません。たとえば、['$ lookup'](https://docs.mongodb.com/manual/reference/operator/aggregation/lookup/)は、ドライバ固有の機能ではなく、コア機能です。 –
@NeilLunnコメントありがとう、どのような参照オブジェクトを使用できますか? –
あなたはしません。一般に、「関係」は実際にはデータアクセスレイヤーで定義されるドメインロジックです。それを行うには多くの方法があり、意見は大きく異なります。しかし、コアドキュメンテーションと '$ lookup'演算子のリンクI(" Manual References ")(https://docs.mongodb.com/manual/reference/database-references/#manual-references)を見てください。すでにあなたに与えてくれました。これはあなたに理解を深めるのに十分なものです。 LINQガイドには、['$ lookup'](http://mongodb.github.io/mongo-csharp-driver/2.2/reference/driver/crud/linq/#lookup)の例もあります。 –