首页 > 解决方案 > 我可以在 MongoDB 中保存 JS 对象(带有方法)吗?

问题描述

我有一些对文本格式化方法和 css 样式进行编码的对象,我想将它们保存在 MongoDB 集合中(使用 Mongoose)。这些对象是一个更复杂的版本:

const myStyle = {
    book: {
        templates: ["/authors/. ", "/title/. ", "/date/. "],
        authors: {
            format: formatAuthors
        },
        title: {
            format: formatTitle,
            style: {fontStyle: "italic"}
        }
    }
}

有谁知道如何将这种东西发送到服务器并将其保存在 MongoDB 集合中?根据 Mongoose 文档,Object 不是有效的 schemaType,所以我不能直接将它保存为 JS 对象。

标签: javascriptmongodbobjectmongoose

解决方案


您可以通过 Schema.methods 字段添加方法。

SchemaName.methods.methodName = function(){...}

还可以在此处查看此示例以了解基本的猫鼬用法。


推荐阅读