如何在 Mongo DB 中存储动态字段

use*_*578 6 mongodb nosql

我是 MongoDB 的新手,但我正在研究它来解决这个问题:

我的应用程序有一个动态表单生成器,允许用户在表单上添加动态字段。表单上的任何字段都不是固定的或静态的。

用户可以在表单上添加任意数量和任意类型的字段,如文本字段、下拉列表或日期字段,并保存表单。

我相信由于它是动态存储并且字段不是静态的,因此 Oracle DB 不会用于存储。Mongo DB 可以用于此类存储和获取数据吗?

如何将数据存储在 Mongo DB 中并提取以显示表单。

提前致谢 !

sir*_*ju1 4

正如您提到的,MongoDb 是基于文档的数据库,它没有列或字段限制。您可以将动态字段放入对象中并将其保存到同一集合中。

例如

 Person: {
   name: '',
   Contacts: [ contact 1, contact 2]
}
Run Code Online (Sandbox Code Playgroud)

您也可以添加更多字段,例如您可以向其中添加电子邮件

 Person: 
 { name: '', contacts: [], email: ''}
Run Code Online (Sandbox Code Playgroud)

您现在也可以将其保存在人员集合中。只需使用 javascript 对象并添加新的键和值并保存它。

 person.email = 'new value';
Run Code Online (Sandbox Code Playgroud)

获取这些内容时,您可以迭代对象上的键并再次向前端显示值

for (var key in person) {
  // do something with key
}
Run Code Online (Sandbox Code Playgroud)