我们如何将自定义字段添加到 mongodb 数据库?

How we can add custom fields to mongodb database?

大家好,我需要你们的帮助, 我正在制作一个简单的应用程序,用户可以在其中创建关于他们最喜欢的人的 post,因此有不同的字段可以编写文本,现在我已经为用户创建了一个功能,可以创建任何带有他们选择的标题的新字段就像一个人“a”想要添加一个名为 age 的新字段而自定义“b”想要添加一个名为 country 的新字段,所以我做了这个但是我如何才能在我的数据库中自动获取自定义数据所以如果用户将创建一个具有任何名称的新字段,我希望该字段和文本写入我的数据库中。你能帮我吗? 请尝试以简单的方式向我解释我只是 mongoDB 的初学者。 有一个人告诉我用 $addFields 聚合来做到这一点,但他没有告诉我其他任何事情我看到了很多文件,但我没有得到我怎样才能做到这一点:( 非常感谢你。 :)

这是我的默认字段架构:

const personSchema = new Schema({
    firstName: String,
    lastName: String,
    birthDay: String,
    gender: String,
    pronouns: String,
    relationship: String,
    user: {
        id: {
            type: mongoose.Schema.Types.ObjectId,
            ref: "User",
        },
        username: String,
    }
});

您只需在创建架构时将 strict 选项传递给 false 即可!

默认情况下,mongoose 会将此选项设置为 true,因此您无法向数据库发送任何不必要的信息!

const personSchema = new Schema({
    firstName: String,
    lastName: String,
    birthDay: String,
    gender: String,
    pronouns: String,
    relationship: String,
    user: {
        id: {
            type: mongoose.Schema.Types.ObjectId,
            ref: "User",
        },
        username: String,
    }
}, { strict: false });

https://mongoosejs.com/docs/guide.html#strict