Как определить внешние ключи на mongoDB - PullRequest
0 голосов
/ 16 июня 2020

Я работаю над проверкой схемы Mon go DB (4.2) с использованием $ jsonSchema. Я хочу определить внешний ключ с помощью $ jsonSchema. Является ли это возможным? Вот пример того, что я хочу.

Заказчик сбора -> {Customerid, customerName, customerAddress}

Заказ на получение -> {orderId, customerid, orderdate, orderdetail}

    db.createCollection("order", {
   validator: {
      $jsonSchema: {
         bsonType: "object",
         required: [ "orderId", "customerId", "orderdate", "orderdetail" ],
         properties: {
            orderId: {
               bsonType: "string",
               description: "must be a string and is required"
            },
            customerId: {
               bsonType: "string",
               description: "must be a string and is required"
               **can i define some link here that this customer ID should come from customer collection**
            },
            orderdate: {
               bsonType: "string",
               description: "must be a string and is required"
            },
            orderdetail: {
               bsonType: "string",
               description: "must be a string and is required"
            }
         }
      }
   }
})

Я хочу выполнить следующий сценарий ios с помощью $ jsonSchema: 1) Когда i go вставляется в коллекцию заказов, если клиент в этой коллекции клиентов не существует, вставка заказа должна завершиться ошибкой. 2) При удалении покупателя все соответствующие ему заказы также должны быть удалены.

Возможно ли это сделать?

1 Ответ

1 голос
/ 10 июля 2020

Невозможно указать в $jsonSchema, что поле должно иметь значение, которое зависит от чего-либо, кроме самого текущего документа.

...