0

Mongoose スキーマからモデルを抽象化したい:

AddressSchema = mongoose.Schema(
  _type: String
  first_name: String 
  last_name: String
  address_line1: String
  address_line2: String
  zip_code: String
  city: String 
  state: String
  phone_number: Number
)
AddressSchema = Schema.AddressSchema

そして、後で次のようにします。

ShippingChoicesRequestSchema = mongoose.Schema(
  retailer: String
  products: [ ProductSchema ]
  shipping_address: 
    ref: AddressSchema
    type: ObjectId
)

しかし、リクエストを送信すると、このネストされたアドレス ドキュメントが作成されません。のようなことを行うことでこれを配列として実行できることはわかっていますがshipping_address: [ AddressSchema]、それが繰り返しフィールドでない場合はどうなるでしょうか?

編集:

リクエストは次のようになります。

{
  "retailer": "something",
  "products": [...],
  "shipping_address": {
    "_type": "address",
    "first_name": "...",
    "last_name": "...",
    "address_line1": "...",
    "address_line2": "...",
    "zip_code": "...",
    "city": "...", 
    "state": "...",
    "phone_number": ...
  }
}

しかし、Mongo で調べると、次のようになります。

{
  "retailer" : "something",
  "_id" : ObjectId("526ad0a3c0cff58a54000001"),
  "products" : [
    {
      "variant_choice" : {
        "unit_price" : 3999,
        "color" : "Black",
        "size" : "M",
        "_type" : "variant_choice"
      },
      "quantity" : 1,
      "product_id" : "123456",
      "_type" : "product"
    }
  ],
  "__v" : 0
}

そのため、アドレスは保存されません。

4

1 に答える 1