我有一些对象可以对文本格式设置方法和CSS样式进行编码,我想将它们保存在MongoDB集合中(使用Mongoose)。对象是一个更复杂的版本:
const myStyle = {
book: {
templates: ["/authors/. ", "/title/. ", "/date/. "],
authors: {
format: formatAuthors
},
title: {
format: formatTitle,
style: {fontStyle: "italic"}
}
}
}
有人知道如何将这种东西发送到服务器并将其保存在MongoDB集合中吗?根据Mongoose文档,Object不是有效的schemaType,因此我不能直接将其保存为JS对象。
答案 0 :(得分:0)
答案 1 :(得分:0)
Object
不是有效的猫鼬模式类型,但Mixed
是有效的猫。
一个“万事俱备”的SchemaType,它的灵活性来自于 它很难维护。混合可以通过 Schema.Types.Mixed或通过传递空对象文字来实现。
您可以使用上面的链接阅读有关它的更多信息。
在这种情况下,只要您要保存的数据是有效的JS对象,就可以将其插入。
但是请注意,由于它是schema-less type
,因此在使用“混合”时存在一些性能限制,并且如文档中再次所述,需要在更改后调用.markModified(path)
。
答案 2 :(得分:-1)
不,您不能将方法保存到mongodb