internal FlightRawDataRelationPoint[] GetFlightRawDataRelationPoints(AircraftModel aircraft, string flightID,
            string XAxisParameterID, string YAxisParameterID)
        {
            if (string.IsNullOrEmpty(flightID))
            {
                LogHelper.Warn("flight为空或FlightID为空(GetFlightRawDataRelationPoints)。", null);
                return null;
            }

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

                        List<IMongoQuery> qs = new List<IMongoQuery>();
                        IMongoQuery q1 = Query.EQ("FlightID", flightID);
                        if (!string.IsNullOrEmpty(XAxisParameterID))
                        {
                            IMongoQuery q2 = Query.EQ("XAxisParameterID", XAxisParameterID);
                            qs.Add(q2);
                        }
                        if (!string.IsNullOrEmpty(YAxisParameterID))
                        {
                            IMongoQuery q3 = Query.EQ("YAxisParameterID", YAxisParameterID);
                            qs.Add(q3);
                        }

                        if (qs.Count == 0)
                        {
                            var cursor = modelCollection.Find(q1);
                            var result = cursor.AsQueryable();
                            return result.ToArray();
                        }
                        else
                        {
                            qs.Insert(0, q1);
                            IMongoQuery all = Query.And(qs);
                            var cursor = modelCollection.Find(all);
                            var result = cursor.AsQueryable();
                            return result.ToArray();
                        }
                    }
                }
                catch (Exception e)
                {
                    LogHelper.Error("GetFlightRawDataRelationPoints", e);
                }
            }
            return null;
        }