Node.js 用户提交页面的节点堆栈

Node.js 用户提交页面的节点堆栈,node.js,web-services,Node.js,Web Services,我的目标是创建一个“Yahoo!Answers”或“wiki Answers”类型的网站,在这里人们可以注册、发布问题,也可以回答问题。(本网站将面向数学/化学/物理家庭作业问题的提问和回答。将对其进行配置,以便用户可以在问答部分键入LaTeX标记) 实际上,这将是回答家庭作业问题的stackoverflow,人们可以在这里提问、发布解决方案,以及向上投票的问题和解决方案,比如如何在stackoverflow上投票 我在上有一个原型,但我还没有实现用户注册,或者用户提交的问题或答案 我研究了如何

我的目标是创建一个“Yahoo!Answers”或“wiki Answers”类型的网站,在这里人们可以注册、发布问题,也可以回答问题。(本网站将面向数学/化学/物理家庭作业问题的提问和回答。将对其进行配置,以便用户可以在问答部分键入LaTeX标记)

实际上,这将是回答家庭作业问题的stackoverflow,人们可以在这里提问、发布解决方案,以及向上投票的问题和解决方案,比如如何在stackoverflow上投票

我在上有一个原型,但我还没有实现用户注册,或者用户提交的问题或答案

我研究了如何使用进行用户身份验证,并尝试按照一些教程获得用户身份验证并将其存储在mongodb上(如)。我可以获取用户名和密码进行身份验证,并将其存储在数据库中,以便以后登录。但是,我不知道如何跟踪每个用户提交的问题和答案。例如,在stackoverflow上,我可以转到我的帐户页面,查看我提交的问题和答案。我是否需要在数据库中存储用户的评论和问题以及用户名和密码

编辑:作为研究后的后续问题。我在上一篇文章中读到,我认为我可以为数据库创建以下结构:

user{
    _id:<object1>,
    username: input-data,
    password: however-this-is-done,
    questions[]: <object2>[], //an array of <object2> type objects? if this is possible
    solutions[]: <object3>[], //an array of <object3> objects, which are submitted 
    //solutions. if it is possible to create arrays of "references"
}
question{
    _id:<object2>,
    user_id:<object1>,
    body:input-data,
    solutions[]:<object3>[], //array of references?
}
solutions{
    _id:<object3>,
    user_id:<object1>,
    question_id:<object2>,
    body:user-input
}
用户{
_id:,
用户名:输入数据,
密码:无论如何操作,
问题[]:[],//类型对象数组?如果可能的话
解决方案[]:[],//提交的对象数组
//解决方案。如果可以创建“引用”数组
}
问题:{
_id:,
用户id:,
正文:输入数据,
解决方案[]:[],//引用数组?
}
解决方案{
_id:,
用户id:,
问题:,
正文:用户输入
}

用户身份验证后,应使其能够在其用户id下发布。如果用户发布问题,则应运行一个函数,创建一个
问题
对象,该对象的
用户id
属性设置为客户端的用户信息。
问题
对象应该有一个
解决方案
对象数组,每个对象都有引用当前
用户id
和解决方案的
问题
对象的数据。如何在node.js中编写函数来实现这一点?

在您的
用户
模型中,您可以创建这样一系列问题

var QuestionSchema = new mongoose.Schema({
  body: String
});

var Question = mongoose.model('Question', QuestionSchema);

var LocalUserSchema = new mongoose.Schema({
  username: String,
  salt: String,
  hash: String,
  ref: [{type: mongoose.Schema.Types.ObjectId, ref: 'Question'}]
});

var Users = mongoose.model('userauths', localUserSchema);
也可以查看本教程


谢谢,@Bulkan,你能看看我关于数据结构的更新吗?我将继续研究这个问题,并按回答提交这个问题,并且在我为这个问题创建解决方案后更新线程