在express.js中运行时集合

时间:2015-09-01 14:56:02

标签: node.js mongodb express

我正在创建一个网络应用,用户可以在其中创建问题。每次用户创建问题时,都应创建一个集合,其中该问题的所有答案都应保存为该集合中的文档。

1 个答案:

答案 0 :(得分:-1)

您可以使用mongodb ORM - mongoose来制作您的数据模型

var mongoose = require('mongoose')
  , Schema = mongoose.Schema

var questionSchema = Schema({
  title    : String,
  text     : String,
  user     : { type: Schema.Types.ObjectId, ref: 'User' },
  answers : [{ type: Schema.Types.ObjectId, ref: 'Answer' }]
});

var answerSchema = Schema({
  user : { type: Schema.Types.ObjectId, ref: 'User' },
  text    : String,
});

var Question  = mongoose.model('Question', questionSchema);
var Answer = mongoose.model('Answer', answerSchema);

因此,您将在问题中存储答案ID数组并填充数据:

Question.findOne().populate('answers').exec(function(err, doc){
  console.log(doc.answers) // here populated answers models
})

此外,您还需要描述用户模型并使用其他数据扩展问题和答案