0

我试图弄清楚如何让用户去/settings并选择几个复选框,然后当他们去的时候,/new他们只会看到与他们在 中选择的输入相对应的输入/settings

我不知道我会怎么做,我知道我需要将它保存到数据库中,但是我应该如何提取数据以只显示我想要的输入。我正在考虑将选项设置为布尔值,当它为真(选中)时,它将显示输入。我对这个想法的唯一问题是我不确定如何使用尽可能少的数据库查询来做到这一点。理想情况下,我只会发送 1 个查询而不是说 10 个左右。

4

1 回答 1

0

在您的users集合中,添加settings字段。

示例user文档:

{
    "_id" : ObjectId("59c20694d58a3e3e393fe779"),
    "email" : "user@gmail.com",
    "role" : "user",
    "password" : "$2a$10$5TK8N8T1VohE6hHklqdeCubYmOimBaAcnHWHSKxb4x6AudlWeDeEa",
    "created" : ISODate("2017-09-20T06:11:32.014Z"),
    "settings": {
        "option_1": true,
        "option_2": false,
        "option_3": true,
        "option_4": true
    }
}

然后,在加载/new路线后,在您的模板引擎中读取user.settings并根据设置显示内容。

如果要在多个路由 ( /new) 上使用提到的设置,请考虑将它们存储在会话中。

此外,如果您使用 angular 之类的框架,请考虑将设置添加到全局服务中。

于 2017-10-03T05:13:03.040 回答