0

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);

したがって、アイテムは配列として表示されます。これを行うためにコードを変更するにはどうすればよいですか? ありがとう。

4

0 に答える 0