Как создать схему mon goose с индексом подпунктов? - PullRequest
0 голосов
/ 10 июля 2020

Мне нужно сгенерировать JSON в следующем формате -

    "products": {
      "1": {
          "product_id": "12",
          "quantity": "1",
          "product_options": {
              "1": "12",
              "2": "17"
          }
      },
      "2": {
          "product_id": "12",
          "quantity": "2",
          "product_options": {
              "1": "15",
          }
      }
    }

Как мне сделать это в схеме Mon goose? В настоящее время моя схема -

    const mongoose = require('mongoose');
    const timestamp = require('mongoose-timestamp');
    
    const ProductOptionSchema = new mongoose.Schema({
        product_option_id: { type: String, required: true }
    });
    
    const OrderedProductSchema = new mongoose.Schema({
        product_id: { type: String, required: true },
        quantity: { type: Number, required: true },
        product_options: [ProductOptionSchema]
    });
    
    OrderedProductSchema.plugin(timestamp);
    
    const ProductOption = mongoose.model('ProductOption', ProductOptionSchema);
    const OrderedProduct = mongoose.model('OrderedProduct', OrderedProductSchema);
    
    module.exports = Order;

, которая не создает JSON как требуемый формат. Я могу вручную создать JSON, чтобы он выглядел как требуемый вывод, но я бы предпочел, если возможно, не нужно дважды обрабатывать JSON, просто создайте схему mon goose, которая будет генерировать требуемый вывод в первый раз.

Спасибо!

...