Сохранить строку Json как массив MongoDB в C # - PullRequest
0 голосов
/ 28 сентября 2018

Я хочу сохранить строку JSON в формате массива в MongoDB. Это мой код C # для хранения уведомлений в MongoDB, здесь поле «Event_meta» отправляет поле в формате строки JSON в MongoDB.

public async Task Handle(TaskPropertyUpdatedEvent eventmsg)
        {
        try
        {
            var meta = JsonConvert.SerializeObject(eventmsg.Event_meta);
            var notificationEvent = new Notifications()
            {
                Content = eventmsg.Content,
                Type = "TaskEvent",
                UserId = eventmsg.UpdatedById,
                EntityId = eventmsg.TaskId.ToString(),
                AddedDate = eventmsg.UpdatedDate,
                Active = true,
                ShowNotification = false,
                InternalEvent = true,
                UserName = eventmsg.UpdatedByName,
                Event_type = eventmsg.Event_type,
                Event_meta = meta

            };
            var result = await _eventRepository.AddEventAsync(notificationEvent);              
        }

        catch (Exception ex)
        {


        }

    }

«eventmsg.Event_meta» - это динамический тип. Значение «Event_meta» хранится в MongoDB как jsonstring. Но я хочу сохранить его в формате Array.

Event_meta :"[{"action":"added","propertyId":"e7b6df49-7ea5-422f-aa81- 
1d273d69da21"..."

Anyпомощь приветствуется

1 Ответ

0 голосов
/ 29 сентября 2018

Создайте свой тип поля Event_meta в BsonDocument и десериализуйте как BsonDocument.Или сделайте ваш класс уведомлений как класс картографа, например Mongo Doc

...