JSON Data:
{
  "shippingInfo":{
    "address": "some address",
    "city":"city 1",
    "state": "state 1",
    "country":"country 1",
    "pinCode": 1123,
    "phoneNo": 03212134345
  },
  "orderItems": [
    {
      "name": "product 1",
      "price": 10,
      "quantity": 2,
      "product":"633016cec12d615871aa57a4"
    },
    {
      "name": "product3",
      "price": 30,
      "quantity": 1,
      "product":"6332010ae5524292cb59f58e"
    }
  ],  
    "totalPrice":100
}
Model:
const orderSchema = new mongoose.Schema({
  shippingInfo: {
    address: {
      type: String,
      required: true,
    },
    city: {
      type: String,
      required: true,
    },
    state: {
      type: String,
      required: true,
    },
    country: {
      type: String,
      required: true,
    },
    pinCode: {
      type: Number,
     required: true,
   },
    phoneNo: {
      type: Number,
      required: true,
    },
  },
  orderItems: [
    {
      name: {
        type: String,
        required: true,
      },
      price: {
        type: Number,
        required: true,
      },
      quantity: {
        type: Number,
        required: true,
      },
      product: {
        type: mongoose.Schema.ObjectId,
        ref: "Product",
        required: true,
      },
    },
  ],
  user: {
    type: mongoose.Schema.ObjectId,
    ref: "User",
    required: true,
  }
});
controller:
exports.newOrder = async (req, res, next) => {
  try {
    const {
      shippingInfo,
      orderItems,
      totalPrice,
    } = req.body;
    const order = await Order.create({
      shippingInfo,
      orderItems,
      totalPrice,
      user: req.user._id,
    });
    res.status(201).json({
      success: true,
      order,
    });
  } catch (error) {
    console.log(error);
  }
};
 
    