繁体   English   中英

Mondodb C#保存具有数组值的字典

[英]Mondodb C# save dictionary with array value

我有一个mongo集合: Fieldset 如果嵌入对象FieldFieldset具有List。

Field有一个Dictionary<string, object> Config我想对这个字典的值有所了解

public class Fieldset
{
    [BsonId]
    [BsonRepresentation(BsonType.ObjectId)]
    public string Id { get; set; }

    public string Slug { get; set; }
    [BsonElement("Fields")]
    public List<Field> Fields { get; set; }
}

public class Field
{
    [BsonElement("Config")]
    public Dictionary<string, object> Config { get; set; }
}

这是我要输入的值的示例。某种键值集合

在此处输入图片说明

保存时,这就是我在mongo中拥有的值

在此处输入图片说明

嗯。 它像应该工作一样工作>

static void Main(string[] args)
{
    var client = new MongoClient();
    var database = client.GetDatabase("SO3");
    var collection = database.GetCollection<Fieldset>("jobject");
    var id = new BsonObjectId(ObjectId.GenerateNewId()).ToString();
    var field =
        new Field
        {
            Config = new Dictionary<string, object> {{"value", "item1key"}, {"lable", "item1value"}}
        };
    var field2 =
        new Field
        {
            Config = new Dictionary<string, object> {{"value", "item2key"}, {"lable", "item2value"}}
        };
    var fieldset = new Fieldset
    {
        Id = id,
        Slug = "aa",
        Fields = new List<Field>
        {
            field,
            field2
        }
    };
    collection.InsertOne(fieldset);
}


{ "_id" : ObjectId("5c55b972ceb9443d385de936"), "Slug" : "aa", "Fields" : [ { "Config" : { "value" : "item1key", "lable" : "item1value" } }, { "Config" : { "value" : "item2key", "lable" : "item2value" } } ] }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM