Как вставить документ в MongoDB с одним из полей типа ObjectId в Mulesoft Anypoint Studio? - PullRequest
0 голосов
/ 14 октября 2019

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

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

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

1 Ответ

0 голосов
/ 15 октября 2019

Этот формат используется для 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"
    }
}
...