猫鼬 - 灵活的领域

时间:2013-05-03 08:52:52

标签: node.js mongodb mongoose

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

这个集合的文档将有一些标准字段(id,创建日期,用户等...)但是我需要存储其他东西,这是一个“数据”字段,必须包含不同的数据,具体取决于该文件。该值有时是简单的文本,有时它会有很多键/值对。

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

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

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

- 其他

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

2 个答案:

答案 0 :(得分:2)

尝试使用Mixed schemaType,我认为这就是你要找的东西: http://mongoosejs.com/docs/schematypes.html

答案 1 :(得分:1)

这一个:

  

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

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

相关问题