internal string AddOrReplaceFlightGlobeDataBatch(string flightId, AircraftModel model,
            int startIndex, int endIndex, FlightDataEntities.GlobeData[] globedatas)
        {
            using (AircraftMongoDbDal dal = new AircraftMongoDbDal())
            {
                MongoServer mongoServer = dal.GetMongoServer();
                //不用判断是否为空,必须不能为空才能继续,否则内部要抛异常
                try
                {//此方法操作的记录为跟架次密切相关,但肯定LevelTopRecord需要包含趋势分析等信息,
                    //建议不要分表,存放在Common里面
                    MongoDatabase database = dal.GetMongoDatabaseByAircraftModel(mongoServer, model);
                    if (database != null)
                    {
                        MongoCollection<FlightDataEntities.GlobeData> modelCollection1
                            = dal.GetFlightGlobeDataMongoCollectionByFlight(database, flightId);

                        IMongoQuery q1 = Query.EQ("FlightID", new MongoDB.Bson.BsonString(flightId));
                        IMongoQuery q2 = Query.GTE("Index", new MongoDB.Bson.BsonInt32(startIndex));
                        IMongoQuery q3 = Query.LTE("Index", new MongoDB.Bson.BsonInt32(endIndex));
                        IMongoQuery q4 = Query.EQ("AircraftModelName", new MongoDB.Bson.BsonString(model.ModelName));
                        IMongoQuery query = Query.And(q1, q2, q3, q4);
                        modelCollection1.Remove(query);

                        modelCollection1.InsertBatch(globedatas);
                    }
                }
                catch (Exception e)
                {
                    LogHelper.Error("AddOrReplaceFlightGlobeDataBatch", e);
                    return e.Message;
                }
            }
            return string.Empty;
        }
        internal GlobeData[] GetGlobeDatas(string flightID, AircraftModel model, int startIndex, int endIndex)
        {
            if (model == null || string.IsNullOrEmpty(model.ModelName) || string.IsNullOrEmpty(flightID))
            {
                LogHelper.Warn("aircraftModel为空或aircraftModel.ModelName为空或FlightID为空(GetGlobeDatas)。", null);
                return null;
            }

            using (AircraftMongoDbDal dal = new AircraftMongoDbDal())
            {
                MongoServer mongoServer = dal.GetMongoServer();
                //不用判断是否为空,必须不能为空才能继续,否则内部要抛异常
                try
                {//此方法操作的记录为跟架次密切相关,需要拆分存储的记录,最好在DAL里面去处理表名构建逻辑
                    MongoDatabase database =
                        dal.GetMongoDatabaseByAircraftModel(mongoServer, model);
                    if (database != null)
                    {
                        MongoCollection<FlightDataEntities.GlobeData> modelCollection
                            = dal.GetFlightGlobeDataMongoCollectionByFlight(database, flightID);

                        List<IMongoQuery> qs = new List<IMongoQuery>();

                        IMongoQuery q1 = Query.EQ("FlightID", new MongoDB.Bson.BsonString(flightID));
                        IMongoQuery q2 = Query.GTE("Index", new MongoDB.Bson.BsonInt32(startIndex));
                        IMongoQuery q3 = Query.LTE("Index", new MongoDB.Bson.BsonInt32(endIndex));
                        IMongoQuery q4 = Query.EQ("AircraftModelName", new MongoDB.Bson.BsonString(model.ModelName));
                        IMongoQuery query = Query.And(q1, q2, q3, q4);

                        var cursor = modelCollection.Find(query);
                        var result = cursor.AsQueryable();
                        return result.ToArray();
                    }
                }
                catch (Exception e)
                {
                    LogHelper.Error("GetGlobeDatas", e);
                }
            }
            return null;
        }