谁能解释猫鼬中混合和缓冲数据类型的含义?

Viv*_*naa 5 mongoose mongodb

谁能解释猫鼬中混合和缓冲数据类型的含义?

猫鼬中混合数据类型的确切用途是什么?有什么方法可以存储日志数据(包含字符串和数字)。

sat*_*ati 5

猫鼬MIX模式类型

“一切皆有可能”的SchemaType,其灵活性来自于难以维护的折衷。可以通过Schema.Types.Mixed或通过传递空对象文字来使用混合。以下是等效的:

var Any = new Schema({ any: {} });
var Any = new Schema({ any: Schema.Types.Mixed });
Run Code Online (Sandbox Code Playgroud)

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

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

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

猫鼬缓冲区架构类型

通常在处理以二进制形式保存的项目时使用缓冲区类型,例如图像。