任何人都可以解释mongoose中混合和缓冲数据类型的含义吗?

时间:2017-01-06 16:05:58

标签: mongodb mongoose

任何人都可以在mongoose中解释混合和缓冲数据类型的含义吗?

mongoose中混合数据类型的确切用法是什么。有没有办法存储日志数据(包含字符串和数字。

1 个答案:

答案 0 :(得分:3)

Mongoose MIX架构类型

“任何事情都有”SchemaType,它的灵活性来自于它难以维护的权衡。混合可通过Schema.Types.Mixed或通过传递空对象文字来获得。以下是等效的:

var Any = new Schema({ any: {} });
var Any = new Schema({ any: Schema.Types.Mixed });

由于它是无模式类型,您可以将值更改为您喜欢的任何其他值,但Mongoose无法自动检测/保存这些更改。要“告诉”Mongoose混合类型的值已更改,请调用文档的.markModified(path)方法,将路径传递给刚刚更改的混合类型。

person.anything = { x: [3, 4, { y: "changed" }] };
person.markModified('anything');
person.save(); // anything will now get saved

(原始内容取自http://mongoosejs.com/docs/api.html#document_Document-markModified

Mongoose Buffer Schema类型

当您经常使用以二进制形式保存的项目时使用缓冲区类型,一个很好的例子就是图像。