ASP.NET と 10gen の公式ドライバーで MongoDB を使用しています。私の問題は、クラスがドキュメントとしてレンダリングされる (シリアル化される) 方法にあります。
「ボックス」というクラスがあり、別のクラスが「アイテム」を呼び出します。
項目は次のようにクラスに表示されます。
[BsonIgnoreIfNull]
[BsonElementAttribute("items")]
public List<Item> Items { get; set; }
各アイテムには、独自のクラスで割り当てられたいくつかのプロパティがあります。
Mongo に挿入された JSON ドキュメントを表示すると、次のように表示されます。
Items: {
"0": {
"_id": ObjectId("33423423423434343434"),
"name": "Item1"
},
}
ただし、そのように表示するのではなく、次のような配列として表示します。
Items: [
{
"_id": ObjectId("34234234234234234"),
"name": "some name",
},
{
"_id": ObjectId("34234234234234234"),
"name": "some name",
}
]
コード ビハインドにアイテムを追加する:
List<Item> theItems = new List<Item>();
Item singleitem = new Item{
Title = "single item one"
};
theItems.Add(singleitem);
theItems.Add(singleitem);
var box= new Box
{
IsPublic = true,
Items = theItems
};
SafeModeResult sf = collectionBoxes.Insert(box);
したがって、アイテムは配列として表示されます。これを行うためにコードを変更するにはどうすればよいですか? ありがとう。