3

我是 NOSQL 和 MongoDB 的新手,我正在使用 NodeJS 和 Mongoose 构建一个应用程序,并且我正在为一个新集合构建一个 mongoose 模式。

该集合的文档将包含一些标准字段(id、创建日期、用户等),但随后我需要存储其他内容,这是一个“数据”字段,必须根据文档包含不同的数据。该值有时是简单的文本,有时它会有很多键/值对。

我想知道这种存储需求的最佳解决方案是什么:

- 只创建一个字符串类型的“数据”字段,然后将不同类型的数据放入其中(文本用于简单值,字符串化对象用于更复杂的数据)

- 在模型中创建我的“更复杂的数据”可能拥有的所有可能字段,并仅使用我在每个文档中需要的字段

- 别的东西

这种事情的最佳做法是什么?

4

2 回答 2

3

尝试使用混合模式类型,我认为这就是你要找的: http: //mongoosejs.com/docs/schematypes.html

于 2013-05-03T12:03:59.607 回答
2

这个:

- 在模型中创建我的“更复杂的数据”可能拥有的所有可能字段,并仅使用我在每个文档中需要的字段

将模式的标准字段标记为required: true,其余部分为可选。这样,您就可以获得所需的灵活性,而不会失去 Mongoose 的验证、转换和更改检测的优势。

于 2013-05-03T12:04:59.363 回答