Как вставить документ в MongoDB с одним из полей типа ObjectId в Mulesoft Anypoint Studio?

Я пытаюсь вставить документ в коллекцию MongoDB с одним из полей типа ObjectId, ссылающимся на документ в другой коллекции. Обратитесь к следующему в качестве примера:

{
    "_id": ObjectId("5d9b5191cbab733354f8345b"),
    "accountBalance": 1234.0,
    "pinCounter": 3,
    "status": "ACTIVE",
    "pinNumber": "1234",
    "accountType": "CURRENT",
    "customerId": ObjectId("5d96e3bd1c9d4400005cbb23")
}

Поле _id создается MongoDB, в то время как customerId (5d96e3bd1c9d4400005cbb23 в приведенном выше примере) предоставляется в запросе. Но при попытке сопоставить данные в указанном выше формате путем добавления строки «ObjectId (» не удается, так как в этом случае поле вставляется как строка.


person El Diablo    schedule 14.10.2019    source источник


Ответы (1)


Это формат для использования ObjectId:

  "_id" : {
        "\$oid": "5d9b5191cbab733354f8345b"
  }

Итак, полный сценарий DW будет выглядеть примерно так:

%dw 2.0
output application/json
---
{
    "_id" : {
       "\$oid": "5d9b5191cbab733354f8345b"
    },
    "accountBalance": 1234.0,
    "pinCounter": 3,
    "status": "ACTIVE",
    "pinNumber": "1234",
    "accountType": "CURRENT",
    "customerId": {
       "\$oid": "5d96e3bd1c9d4400005cbb23"
    }
}
person Ryan Carter    schedule 15.10.2019