MEAN Stack Data Model массив документов или документ массивов - PullRequest
0 голосов
/ 15 мая 2018

У меня есть проблема, решив, как спроектировать мою модель данных для последующего простого запроса и извлечения значений полей ... Дело в том, что я использую стек MEAN, и у меня есть две коллекции в моей базе данных MongoDB: FA и FP.

var FASchema = new Schema({
    Timestamp: Date,
    ProgBW: Number,
    posFlexPot: Number,
    negFlexPot: Number,
    Leistungsuntergrenze: Number,
    Leistungsobergrenze: Number,
    posGesEnergie: Number,
    negGesEnergie: Number,
    Preissignal: Number,
    Dummy1: Schema.Types.Mixed,
    Dummy2: Schema.Types.Mixed,
    Dummy3: Schema.Types.Mixed
    //same: Dummy: {}

});

var FPSchema = mongoose.schema( {
    _id: { type: String },//mongoose.Schema.Types.ObjectId,
    Demonstrator: Number,
    erstellt: {type: Date, 'default': Date.now},
    von: Date,
    bis: Date,
    FAs: [{type: mongoose.Schema.Types.ObjectId, ref: "FA"}]    
})

Первый вопрос здесь: возможно ли автоматически создавать поля _id как строки, потому что я слышал, что будет проще запрашивать идентификаторы как строки позже ... Второй вопрос: моя схема FP содержит экземпляры (или, скорее, поддокументы в виде простого текста) внутри поля «FA» (как именно это делается, более поздняя тема). У меня вопрос, должен ли я составить это поле как массив документов

[{FAinstance1.field1value, FAinstance1.field2.value},{FAinstance2.fiel1.value,...}] 

с большим количеством документов FA, или я должен сделать что-то вроде этого (документ документов массивов:

{FA.field1: [valueFA1, valueFA2,..], FA.field2: [value2FA1, value2FA2,..],...}

Поскольку для каждого документа "FA" я позже хочу извлечь некоторые значения из полей, таких как Timestamp, negGesEnergie и т. Д., И сделать это для каждого экземпляра FA в списке. Я извлекаю их либо из mongoDB, либо напрямую из API (например, POST-запрос). Потому что я хочу отобразить значения позже в некоторой диаграмме (написанной в javascript), где каждое значение FA1_instance.x1 и значение FA2_instance.x1 (поступающие последовательно в списке) представляют собой числа на оси x, а другие поля представляют собой последовательность чисел для значений y (которые являются значениями последовательностей экземпляров FA в списке) соответственно.

Какой будет самая простая модель данных для извлечения значений для каждого поля экземпляра FA позже?

...