Пытаетесь экспортировать данные в mongodb, но получили эту ошибку? Ожидается вложенный документ, представляющий - PullRequest
0 голосов
/ 22 февраля 2019

Ожидается вложенный документ, представляющий сериализованную форму значения Rootobject, но вместо этого найдено значение типа Array?Код C #: я предполагаю, что мне следует написать собственный сериализатор для этого класса, но я не смог найти ни одного полезного примера в Руководстве для MONGODB .NET DRIVER.Я работаю с драйвером C # MongoDB

string inputFileName = @ "1546346582.07002.json";// инициализируем во входной файл

        IMongoCollection<Rootobject> coll = database.GetCollection<Rootobject>("BB");
        using (var streamReader = new StreamReader(inputFileName))
        {
            string line;
            while ((line = streamReader.ReadLine()) != null)
            {
                using (var jsonReader = new MongoDB.Bson.IO.JsonReader(line))
                {
                    var context = BsonDeserializationContext.CreateRoot(jsonReader);
                    var document = coll.DocumentSerializer.Deserialize(context);
                    coll.InsertOne(document);
                }
            }
        }




 public class Rootobject
    {
        [BsonElement ("Property1")]
        public Class1[] Property1 { get; set; }


    }




 public class Class1
    {
        [BsonId]
        public ObjectId _id { get; set; }
        [BsonElement ("ID")]
        public string account { get; set; }
        [BsonElement ("Account")]
        public string accuser { get; set; }
        [BsonElement ("Accuser")]
        public string bookedby { get; set; }
        [BsonElement ("BookedBy")]
        public bool changed { get; set; }
        [BsonElement ("Changed")]
}




  public class Fromtovia
    {
        public string info { get; set; }
        [BsonElement ("Info")]
        public string address { get; set; }
        [BsonElement("Address")]
        public float lat { get; set; }
        [BsonElement("Latitude")]
        public float lon { get; set; }
        [BsonElement("longitude")]
        public string postcode { get; set; }
    }

But I couldn't find anything Useful.


...