【问题标题】:how to use 2 collections for different types of data for user of an app如何为应用程序的用户使用 2 个集合来处理不同类型的数据
【发布时间】:2016-04-20 13:28:37
【问题描述】:

我想制作一个像{username : "jack", password : "pass"} 这样的集合。这代表医生登录信息。我相信我可以通过执行以下操作在注册时创建它:

var Doctor = mongoose.model("doctor", authSchema);
module.exports = Doctor;

上面也将通过以下操作创建一个名为医生的集合,其中包含表单中的填充数据。

app.post("/signup", function(req, res){

     Doctor.create({username: req.body.username , password : req.body.password}) 
    res.redirect("/login");
})

我想我可以为医生收集 1 个集合,为他们的患者收集另一个。所以我可以制作一个部分,以便他们可以编辑他们办公室的个人资料,另一个可以将患者添加到那里的数据库。 我将如何关联这 2 个集合。考虑到他们必须使用本地护照登录,而且他们只能看自己的病人。难道我可以创建一个链接,上面写着查看患者,当他们点击它时,我会使用护照的req.userto find() 所有患者。是不是这样弄的。我自己学习这个,从来没有使用过 2 个集合,我不知道我是否走在正确的轨道上。

【问题讨论】:

    标签: javascript mongodb express mongoose passport.js


    【解决方案1】:

    你可以像这样使用你的模型:

     var doctor = new Doctor();
     customer.username = req.body.username;
     password = req.body.password;
     doctor.save();
    

    var doctor = new Doctor();
    customer.username = req.body.username;
    password = req.body.password;
    doctor.save(function (err, doctor) {
          if (err) ..
     })
    

    密码不应存储为纯文本,您可以使用 bcrypt 创建哈希,您可以找到如何保护密码的示例 https://github.com/asimzsaeed/mongodb_node_multi_tenancy_startup/blob/master/server/lib/services/user/model.js

    【讨论】:

    • 您好,感谢您向我展示如何保存到模型,但我认为这不是问题的重点。问题是当你有 2 个集合或模型时,你如何将它们相互关联。例如:一个集合是医生,您在注册时获得数据,另一个是添加患者时的患者。我想知道医生登录后如何查看该特定医生的患者集合。如果您没有将正确的医生与正确的患者集合相关联,其他医生可能会查看其他患者。我用护照。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-20
    • 1970-01-01
    • 2010-10-07
    • 1970-01-01
    • 2016-06-05
    • 2020-07-19
    • 2014-09-30
    相关资源
    最近更新 更多