次のように、MongoDB にドキュメントを深く埋め込んでいます。
[
{
id : 1,
stuff : [
{
id : 1,
morestuff: [
{id : 1, text : "foo"},
{id : 2, text : "boo"}
]
},
{
id : 2,
morestuff: [
{id : 1, text : "foo2"},
{id : 2, text : "boo2"}
]
}
]
}
]
私のC#表現は次のようなものです:
class CoreElement
{
public int id { get; set; }
public List<Stuff> stuff { get; set; }
}
class Stuff
{
public int id { get; set; }
public List<MoreStuff> morestuff { get; set; }
}
class MoreStuff
{
public int id { get; set; }
public string text { get; set; }
}
今、私はさまざまな状況を持つことができます:
- 指定された ID の CoreElement が存在しません
- 指定された ID のものは CoreElement のリストにありません
- MoreStuff は、CoreElement の Stuff のリストにありません
そのようなオブジェクトを作成すると:
CoreElement ce = new CoreElement();
ce.id = 1;
Stuff st = new Stuff();
st.id = 2;
MoreStuff ms = new MoreStuff();
ms.id = 17;
ms.text = "something";
st.morestuff.Add(ms);
ce.stuff.Add(st);
コレクションに upsert して、MoreStuff が既に存在する場合は適切なドキュメントに追加する方法、または存在しない場合は新しいドキュメント (CoreElement または Stuff) を作成する方法はありますか?
どんな助けでも感謝します。ありがとう。