MongoDB doc中"动态模式支持流畅多态"的含义

Luc*_*lva 3 mongodb

我是MongoDB的新手,在其文档中,有以下短语作为MongoDB优势:

动态模式支持流畅的多态性

这究竟是什么意思?

ach*_*uth 5

多态型是其操作也可以适用于一些其它类型的值或类型.让我们举一个例子,考虑下面的mongodb汽车集合

  1. 基本的汽车结构

    {
      "TYPE": "BASIC CAR",
      "MAX_SPEED": 100,
      "MILEAGE": 20,
      "GEARS": 4,
      "FEATURES": [
         {
          "AC": "yes"
         }
      ]
    }
    
    Run Code Online (Sandbox Code Playgroud)

    几乎所有汽车的前4个键都是相同的----> 多态类型

  2. 一辆跑车

    {
      "TYPE": "SPORTS CAR",
      "MAX_SPEED": 300,
      "MILEAGE": 10,
      "GEARS": 8,
      "FEATURES": [
         {
          "AC": "yes"
         },
         {
          "NITRO": "yes"
         },
         {
          "NAVIGATION": "yes"
         },
         .
         .
         .
         .
         ... so on
       ]
       "ADVANCED PROTECTION" : "yes",
       "SENSORS" : [
         {"OBSTACLE" : "yes"}
       ]
      }
    
    Run Code Online (Sandbox Code Playgroud)

运动继承了BASIC CAR的特点,也有一些自己的特点,满足多态性.

对于动态模式部分,我们可以看到文档的结构对于两个文档是不同的,MongoDB不会限制到特定的结构,因此它满足动态模式.