mongoose – 灵活的领域

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

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

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

– 只用一个Stringtypes创build一个“data”字段,然后将不同types的数据放入其中(简单值的文本,更复杂数据的string化对象)

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

– 别的

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

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

这个:

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

根据required: true标记模式的标准字段required: true ,其余的可选。 这样,您就可以获得所需的灵活性,而不会失去validation,投射和更改检测的Mongoose优势。